Apa yang terjadi
TypeBot versi 3.16.1 dan lebih awal (CVSS 9.3 CRITICAL, NVD 18 Juni 2026) mengekspos endpoint tanpa autentikasi POST /api/blocks/file-input/v3/generate-upload-url yang menggunakan input fileName yang tidak disanitasi untuk membuat kunci objek S3 public/ dan mengeluarkan URL PUT yang sudah ditandatangani sebelumnya yang tidak mengikat Content-Type. Pengguna anonim mana pun dapat memberikan fileName yang dirancang untuk menulis konten arbitrer ke jalur S3 arbitrer, memungkinkan hosting konten arbitrer dan stored XSS pada asal penyimpanan. Diperbaiki di TypeBot 3.17.0.
Mengapa penting
TypeBot adalah pembuat chatbot open-source yang banyak digunakan untuk membuat alur percakapan bertenaga AI. Penulisan file tanpa autentikasi ini memungkinkan penyerang untuk menyuntikkan JavaScript berbahaya ke asal S3 chatbot, memungkinkan serangan stored XSS terhadap semua pengguna yang berinteraksi dengan chatbot bertenaga TypeBot — berpotensi mencuri token sesi, kredensial, atau data percakapan dari pengguna chatbot dalam skala besar.
Vektor serangan
Penyerang tanpa autentikasi mengirim POST ke /api/blocks/file-input/v3/generate-upload-url dengan fileName yang dirancang berisi urutan path traversal. Menerima URL PUT S3 yang sudah ditandatangani sebelumnya dan mengunggah JavaScript berbahaya ke jalur arbitrer di bawah awalan public/, memungkinkan stored XSS.
Sistem yang terdampak
TypeBot (typebot.io) ≤ 3.16.1
Mitigasi
Tingkatkan ke TypeBot 3.17.0. Lihat rilis: https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0