CVE-2026-62865
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
Typebot w wersjach self-hosted przed 3.18.0 zawiera podatność w bloku integracji Send Email, która pozwala na dowolny odczyt lokalnych plików na serwerze. Blok buduje załączniki Nodemailer ze zmiennych typebot, a funkcja parseAttachments traktuje wartość jako ścieżkę systemową, jeśli nie zaczyna się od bazowego URL aplikacji. Ponieważ transport Nodemailer nie ma wyłączonego dostępu do plików, załącznik wskazujący absolutną ścieżkę serwera jest odczytywany i wysyłany.
Ocena ryzyka
Zarejestrowany użytkownik może opublikować bota, który wyśle pliki takie jak /etc/passwd lub /proc/self/environ na adres kontrolowany przez atakującego, co umożliwia kradzież sekretów środowiskowych, w tym klucza szyfrującego i danych logowania do bazy.
Rekomendacja
Zaktualizuj Typebot do wersji 3.18.0 lub nowszej, która zawiera poprawkę uniemożliwiającą odczyt plików lokalnych.
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 an open-source chatbot builder. In self-hosted versions prior to 3.18.0, the server-side Send Email integration block allows arbitrary reading of local files on the server. The block builds Nodemailer attachments from a typebot variable, and its parseAttachments helper returns the supplied value as a filesystem path whenever it does not start with the application's own base URL, instead of requiring an http or https URL. The Nodemailer transport is created without disableFileAccess or disableUrlAccess, both of which default to false, so an attachment specified as an absolute server path is read from the local filesystem and delivered. Because both the attachment value and the recipient list are attacker-controllable typebot variables, any registered user can publish a bot whose Send Email block attaches an absolute path such as /etc/passwd or /proc/self/environ and mails it to an address they control. This enables reading any file the server process can access, including process environment secrets such as the credential encryption key and database connection string, without administrative privileges or victim interaction. Open signup is enabled by default and the system SMTP credential is already configured, so no non-default configuration is required. This issue is fixed in version 3.18.0.

