TypeBot — инструмент для создания чат-ботов. Версии до 3.17.0 предоставляют устаревшую общедоступную конечную точку загрузки по адресу `GET /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url`, которая принимает контролируемый злоумышленником `filePath` и возвращает заранее назначенный S3 `PUT` URL-адрес для этого точного ключа. Поскольку конечная точка только проверяет, что указанный typebot является общедоступным и что указанный блок является блоком ввода файла, неаутентифицированный злоумышленник, знающий действительные общедоступные `typebotId` и `blockId`, может запросить заранее назначенные URL-адреса загрузки для произвольных объектов в общем бакете, включая `private/...` и пути `public/...` других арендаторов.
Версия 3.17.0 устраняет эту проблему.
Показать оригинальное описание (EN)
TypeBot is a chatbot builder tool. Versions prior to 3.17.0 expose a deprecated public upload endpoint at `GET /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url` that accepts an attacker-controlled `filePath` and returns a presigned S3 `PUT` URL for that exact key. Because the endpoint only checks that the referenced typebot is public and that the referenced block is a file input block, an unauthenticated attacker who knows a valid public `typebotId` and `blockId` can request presigned upload URLs for arbitrary objects in the shared bucket, including `private/...` and other tenants' `public/...` paths. Version 3.17.0 fixes this issue.
Характеристики атаки
Последствия
Строка CVSS v3.1