무슨 일이 있었나
TypeBot 3.16.1 이하 버전 (CVSS 9.3 CRITICAL, NVD June 18, 2026)은 정제되지 않은 fileName 입력을 사용하여 public/ S3 객체 키를 구성하고 Content-Type을 바인딩하지 않는 사전 서명된 PUT URL을 발급하는 인증되지 않은 엔드포인트 POST /api/blocks/file-input/v3/generate-upload-url을 노출합니다. 모든 익명 사용자는 임의의 S3 하위 경로에 임의의 콘텐츠를 쓸 수 있도록 조작된 fileName을 제공할 수 있으며, 이를 통해 임의의 콘텐츠 호스팅 및 저장소 원본에서의 저장된 XSS가 가능합니다. TypeBot 3.17.0에서 수정되었습니다.
왜 중요한가
TypeBot은 AI 기반 대화형 흐름을 생성하는 데 사용되는 광범위하게 배포된 오픈소스 챗봇 빌더입니다. 이러한 인증되지 않은 파일 쓰기는 공격자가 챗봇의 S3 저장소 원본에 악성 JavaScript를 주입할 수 있으며, TypeBot 기반 챗봇과 상호작용하는 모든 사용자를 대상으로 저장된 XSS 공격을 가능하게 하여 대규모로 세션 토큰, 자격증명 또는 챗봇 사용자의 대화 데이터를 탈취할 수 있습니다.
공격 경로
인증되지 않은 공격자가 경로 순회 시퀀스를 포함하는 조작된 fileName으로 /api/blocks/file-input/v3/generate-upload-url에 POST합니다. 사전 서명된 S3 PUT URL을 받고 public/ 접두사 아래의 임의의 경로에 악성 JavaScript를 업로드하여 저장된 XSS를 가능하게 합니다.
영향받는 시스템
TypeBot (typebot.io) ≤ 3.16.1
완화 방안
TypeBot 3.17.0으로 업그레이드합니다. 릴리스 참조: https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0