事件经过
TypeBot版本3.16.1及更早版本(CVSS 9.3严重,NVD 2026年6月18日)暴露未认证端点POST /api/blocks/file-input/v3/generate-upload-url,该端点使用未清理的fileName输入来构造public/ S3对象键并发出不绑定Content-Type的预签名PUT URL。任何匿名用户都可以提供精心构造的fileName来向任意S3子路径写入任意内容,启用任意内容托管和存储XSS在存储源上。在TypeBot 3.17.0中修复。
影响分析
TypeBot是广泛部署的开源聊天机器人构建器,用于创建AI驱动的对话流。这个未认证文件写入允许攻击者向聊天机器人的S3存储源注入恶意JavaScript,启用针对与TypeBot驱动的聊天机器人交互的所有用户的存储XSS攻击——可能在规模上窃取会话令牌、凭证或来自聊天机器人用户的对话数据。
攻击途径
未认证的攻击者使用包含路径遍历序列的精心构造的fileName POST到/api/blocks/file-input/v3/generate-upload-url。接收预签名的S3 PUT URL并将恶意JavaScript上传到public/前缀下的任意路径,启用存储XSS。
受影响系统
TypeBot(typebot.io)≤ 3.16.1
缓解措施
升级到TypeBot 3.17.0。参见发布:https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0