CVE-2026-39968
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
TypeBot w wersjach 3.15.2 i wcześniejszych ma niekompletną poprawkę dla GHSA-4xc5-wfwc-jw47. Mimo że endpoint getCredentials tRPC został załatany, środowisko wykonawcze bot-engine nadal pozwala uwierzytelnionym użytkownikom na używanie poświadczeń z dowolnego obszaru roboczego przez endpoint podglądu czatu. Funkcja getCredentials() używa fałszywego sprawdzenia (if (workspaceId && ...)), a atakujący może podać workspaceId: "" aby ominąć weryfikację własności.
Ocena ryzyka
Uwierzytelniony atakujący może wyodrębnić poświadczenia z dowolnego obszaru roboczego, co może prowadzić do kradzieży danych, nadużycia usług zewnętrznych, strat finansowych i naruszenia danych.
Rekomendacja
Należy zaktualizować TypeBot do wersji powyżej 3.15.2, która zawiera pełną poprawkę uniemożliwiającą ominięcie weryfikacji własności poświadczeń.
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 and prior, the fix for GHSA-4xc5-wfwc-jw47 ("Credential Theft via Client-Side Script Execution and API Authorization Bypass") is incomplete. While the builder's getCredentials tRPC endpoint was patched with workspace membership checks, the bot-engine runtime still allows any authenticated user to use credentials from any workspace via the preview chat endpoint. The bot-engine's getCredentials() utility function uses a falsy check (if (workspaceId && ...)) for workspace ownership validation. Since the preview endpoint accepts a client-controlled workspaceId field and the Zod schema allows empty strings, an attacker can supply workspaceId: "" to bypass credential ownership verification entirely. Exploitation can result in credential exfiltration, external service abuse, financial damage and a data breach.

