Executive brief
TypeBot, a chatbot builder tool, contains a security flaw in how it handles file uploads from chatbot users. An anonymous attacker can bypass security checks to upload malicious files (such as fake login pages or malicious scripts) to the server's storage. This could allow attackers to host phishing content on the company's official domain or perform "stored cross-site scripting" (XSS) attacks, potentially compromising user sessions or damaging the organization's reputation.
Technical details
An unauthenticated arbitrary object-write vulnerability exists in the `POST /api/blocks/file-input/v3/generate-upload-url` endpoint. The application fails to sanitize the `fileName` input, allowing for forward-slash path injection within the `public/` S3 namespace. Furthermore, the generated presigned PUT URLs do not bind the `Content-Type` header, allowing attackers to upload files with arbitrary MIME types (e.g., `text/html` or `image/svg+xml`). While classic `../` path traversal is mitigated by S3/MinIO client-side canonicalization, attackers can still inject sub-paths to host malicious content or overwrite objects in other tenants' public result paths. This enables stored XSS and arbitrary content hosting on the storage origin. The issue is fixed in version 3.17.0.
Affected products
- baptisteArno typebot.io <= 3.16.1
Timeline
- 2026-05-21: patched: Version 3.17.0 released
- 2026-05-24: advisory: GitHub Security Advisory published
- 2026-06-18: disclosed: NVD disclosure date