CVE-2026-39966
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
W TypeBot w wersjach do 3.15.2 endpoint API getLinkedTypebots zwraca pełne definicje botów każdemu uwierzytelnionemu użytkownikowi, który odniesie się do ID bota z innego workspace'a, co prowadzi do IDOR. Kontrola dostępu jest nieskuteczna z powodu użycia Array.filter() z asynchronicznym callbackiem. Podatność została naprawiona w wersji 3.16.0.
Ocena ryzyka
Każdy uwierzytelniony użytkownik TypeBot może odczytać pełną definicję prywatnych botów z innych workspace'ów, w tym bloki konwersacji, zmienne (np. klucze API, dane osobowe), adresy URL webhooków i konfiguracje integracji.
Rekomendacja
Należy natychmiast zaktualizować TypeBot do wersji 3.16.0 lub nowszej.
Inne podatności w TypeBot
Zobacz wszystkie- CVE-2026-42142Wysokie
TypeBot przed wersją 3.17.0 w handlerze API `handleGetSheets` (`POST /api/sheets/getSheets`) nie weryfikuje członkostwa w obszarze roboczym, co pozwala każdemu uwierzytelnionemu użytkownikowi na dostęp i odszyfrowanie poświadczeń OAuth Google Sheets innego obszaru roboczego oraz pobranie danych z arkuszy (nazwy, identyfikatory, nagłówki kolumn). Wersja 3.17.0 naprawia ten problem.
- CVE-2025-65098Wysokie
Typebot przed wersją 3.13.2 umożliwia wykonanie skryptów po stronie klienta, co pozwala na kradzież wszystkich zapisanych poświadczeń od dowolnego użytkownika. Gdy ofiara podgląda złośliwego typebota, JavaScript wykonuje się w jej przeglądarce i wykrada klucze OpenAI, tokeny Google Sheets oraz hasła SMTP. Endpoint /api/trpc/credentials.getCredentials zwraca klucze API w postaci jawnego tekstu bez weryfikacji własności poświadczeń.
- CVE-2026-62862Krytyczne
Typebot w wersjach do 3.17.1 (self-hosted) ma podatność na brute-force kodu logowania w domyślnej metodzie uwierzytelniania magic-link. Kod jest generowany za pomocą Math.random() i ma tylko 900 000 możliwych kombinacji, a brak limitów prób i blokad pozwala na przejęcie konta. Atakujący znający adres e-mail ofiary może uzyskać pełny dostęp do konta bez interakcji z ofiarą.
- CVE-2026-48765Krytyczne
TypeBot to narzędzie do budowania chatbotów. Wersje przed 3.17.0 pozwalają współpracownikowi z niskimi uprawnieniami odczytu na wyodrębnienie `credentialsId` OAuth z konfiguracji bota, a następnie nadpisanie tych poświadczeń przez `handleUpdateOAuthCredentials()` poprzez podanie kontrolowanego przez atakującego `workspaceId`. Ścieżka aktualizacji waliduje tylko workspace dostarczony przez atakującego, a następnie aktualizuje rekord poświadczeń wyłącznie po globalnym `id`, jednocześnie przepisując `workspaceId` poświadczeń. Umożliwia to przejęcie i ponowne przypisanie poświadczeń OAuth między workspace'ami. Wersja 3.17.0 naprawia ten problem.
- CVE-2026-47705Krytyczne
TypeBot w wersji 3.16.1 ma podatność CSV Injection w funkcji eksportu wyników. Aplikacja nie sanityzuje ani nie escapuje danych wprowadzanych przez użytkownika podczas generowania plików CSV. Atakujący może wstrzyknąć formuły arkusza kalkulacyjnego do pól wejściowych, które są następnie wykonywane, gdy administrator otworzy wyeksportowany plik CSV w oprogramowaniu takim jak Microsoft Excel lub LibreOffice Calc. Wersja 3.17.0 naprawia ten problem.
- CVE-2026-47702Krytyczne
TypeBot w wersji 3.16.1 przechowuje tokeny API w bazie danych jako jawny tekst. Atakujący z dostępem do bazy danych (np. przez SQL injection lub wyciek kopii zapasowej) może wyodrębnić wszystkie tokeny i podszywać się pod dowolnego użytkownika bez hasła lub MFA.
- CVE-2026-48768Krytyczne
TypeBot to narzędzie do budowy chatbotów, które w wersjach 3.16.1 i wcześniejszych ma nieautoryzowany punkt końcowy do generowania adresów URL do przesyłania plików. Umożliwia to anonimowym użytkownikom przesyłanie złośliwych plików HTML, SVG lub JS, co może prowadzić do przechowywania XSS.
- CVE-2026-10731Krytyczne
Wstrzykiwanie SQL w parametrze 'two_steps_auth_code' przetwarzanym przez funkcję 'twoStepsAuthVerification' w punkcie końcowym '/user-login'. Funkcjonalność uwierzytelniania dwuskładnikowego (2FA) jest dostępna bez uwierzytelnienia, co pozwala nieuwierzytelnionym atakującym na wykonanie dowolnych zapytań SQL w bazie danych. Udany atak może prowadzić do enumeracji bazy danych, nieautoryzowanego tworzenia uprzywilejowanych użytkowników, modyfikacji lub usunięcia krytycznych informacji oraz warunków odmowy usługi.
- CVE-2026-33712Krytyczne
Typebot w wersjach 3.15.2 i starszych zawiera podatność SSRF w endpointcie podglądu czatu. Niezautoryzowany atakujący może dostarczyć własną definicję typebota z kodem po stronie serwera, co pozwala na ominięcie walidacji SSRF i wykonanie żądań sieciowych z serwera.
- CVE-2025-64709Krytyczne
Typebot, otwartoźródłowy kreator chatbotów, w wersjach przed 3.13.1 zawiera podatność Server-Side Request Forgery (SSRF) w bloku webhook (komponent HTTP Request). Uwierzytelnieni użytkownicy mogą wysyłać dowolne żądania HTTP z serwera, w tym do AWS Instance Metadata Service (IMDS). Poprzez obejście ochrony IMDSv2 przez wstrzyknięcie niestandardowych nagłówków, atakujący mogą wyodrębnić tymczasowe poświadczenia AWS IAM dla roli węzła EKS, co prowadzi do całkowitej kompromitacji klastra Kubernetes i powiązanej infrastruktury AWS. Wersja 3.13.1 naprawia ten problem.
Oryginalny opis (angielski, źródło NVD)
TypeBot is a chatbot builder tool. In versions 3.15.2, the getLinkedTypebots API endpoint returns full bot definitions to any authenticated user who references a target bot ID in a Typebot Link block, regardless of workspace ownership, leading to IDOR. The authorization check uses Array.filter() with an async callback — since filter() is synchronous, the callback always returns a truthy Promise, so the access control predicate is never actually evaluated. Any authenticated Typebot user can read the full definition of any other workspace's private bots, including: all conversation blocks and logic flow, variable values embedded in the bot (credentials, API keys, PII), webhook URLs and integration configurations. This issue has been fixed in version 3.16.0.

