CVE-2026-48495
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
TypeBot przed wersją 3.17.0 w wywołaniu zwrotnym OAuth dla Google Sheets dekoduje parametr `state` w formacie base64 i ufa osadzonym wartościom `workspaceId`, `typebotId`, `blockId` i `redirectUrl` bez ochrony integralności kryptograficznej ani kontroli autoryzacji. Uwierzytelniony użytkownik, który uzyska ważny kod OAuth Google, może zmienić wartość `state`, aby utworzyć poświadczenia Google Sheets w innym obszarze roboczym i, jeśli zna identyfikatory, dołączyć te poświadczenia do bloku w innym Typebocie. Wersja 3.17.0 naprawia ten problem.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowane tworzenie poświadczeń w cudzych obszarach roboczych oraz możliwość przejęcia kontroli nad blokami w innych Typebotach, co może prowadzić do naruszenia integralności danych i nieautoryzowanego dostępu.
Rekomendacja
Zaleca się aktualizację TypeBot do wersji 3.17.0 lub nowszej. Należy również wdrożyć mechanizmy weryfikacji integralności parametrów `state` oraz kontrolę dostępu do operacji zapisu.
Inne podatności w TypeBot
Zobacz wszystkie- 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.
- CVE-2026-62865Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
TypeBot is a chatbot builder tool. Prior to version 3.17.0, the Google Sheets OAuth callback decodes a base64-encoded JSON `state` parameter and trusts the embedded `workspaceId`, `typebotId`, `blockId`, and `redirectUrl` without cryptographic integrity protection or authorization checks. The callback route is authenticated, but it does not verify that the authenticated user has write access to the target workspace or Typebot before creating credentials in the workspace or updating Typebot groups. An authenticated user who can obtain a valid Google OAuth `code` can alter the `state` value to create Google Sheets credentials in another workspace and, if target IDs are known, attach those credentials to a block in another Typebot. Version 3.17.0 patches the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

