何が起きたか
TypeBotバージョン3.16.1以前 (CVSS 9.3 CRITICAL、NVD 2026年6月18日) は、未認証エンドポイント POST /api/blocks/file-input/v3/generate-upload-url を公開しており、サニタイズされていないfileName入力を使用して公開/ S3オブジェクトキーを構築し、Content-Typeにバインドされていない署名付きPUT URLを発行します。任意の匿名ユーザーは細工されたfileNameを提供して、任意のS3サブパスに任意のコンテンツを書き込むことができ、任意のコンテンツホスティングとストレージオリジンでの格納型XSSが可能になります。TypeBot 3.17.0で修正されました。
なぜ重要か
TypeBotは、AI駆動型の会話フローを作成するために使用される広く展開されているオープンソースチャットボットビルダーです。この未認証ファイル書き込みにより、攻撃者はチャットボットのS3ストレージオリジンに悪意のあるJavaScriptを注入でき、TypeBotを使用したチャットボットと対話するすべてのユーザーに対して格納型XSS攻撃を仕掛けることができ、チャットボットユーザーから規模を問わずセッショントークン、認証情報、または会話データを盗む可能性があります。
攻撃経路
未認証の攻撃者は、パストラバーサルシーケンスを含む細工されたfileNameを使用して /api/blocks/file-input/v3/generate-upload-url にPOSTします。署名付きS3 PUT URLを受け取り、公開/ プレフィックスの下の任意のパスに悪意のあるJavaScriptをアップロードして、格納型XSSを実現します。
影響を受けるシステム
TypeBot (typebot.io) ≤ 3.16.1
緩和策
TypeBot 3.17.0 にアップグレードしてください。リリースを参照: https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0