무슨 일이 있었나
TypeBot의 generate-upload-url 엔드포인트는 'fileName' 매개변수를 살균하지 못하여 경로 통과를 통해 S3 스토리지에 임의의 파일을 작성할 수 있습니다. 인증되지 않은 공격자는 임의의 S3 경로에 악의적인 파일을 업로드할 수 있습니다.
왜 중요한가
TypeBot 챗봇은 사용자 입력, 대화 로그 및 첨부 파일을 S3에 저장합니다. 공격자는 악의적인 파일을 주입하거나 챗봇 자산을 덮어쓰거나 저장된 데이터를 유출할 수 있습니다.
공격 경로
인증되지 않은 공격자가 경로 통과 시퀀스(../)를 포함하는 살균되지 않은 'fileName' 매개변수를 사용하여 POST /api/blocks/file-input/v3/generate-upload-url 엔드포인트를 호출하여 S3 스토리지 버킷에 임의의 파일을 작성합니다.
영향받는 시스템
TypeBot 버전 3.16.1 이하
완화 방안
TypeBot을 3.16.2 이상으로 업데이트; fileName 매개변수에서 입력 검증 구현