CVE-2026-91940
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
crawl4ai przed wersją 0.9.3 zawiera podatność na dowolny zapis plików w strategii PDFContentScrapingStrategy, gdzie funkcja _filter_untrusted_fields nie waliduje niezaufanych pól konfiguracyjnych. Atakujący mogą przesłać spreparowane ciała konfiguracji ze złośliwymi ścieżkami image_save_dir, aby zapisać kontrolowane przez atakującego bajty w dowolnym katalogu dostępnym dla konta usługi.
Ocena ryzyka
Ryzyko obejmuje możliwość zapisu złośliwych plików w systemie, co może prowadzić do wykonania kodu lub dalszej kompromitacji.
Rekomendacja
Zaleca się aktualizację crawl4ai do wersji 0.9.3 lub nowszej, która zawiera walidację pól konfiguracyjnych.
Inne podatności w Crawl4AI
Zobacz wszystkie- CVE-2026-56260Krytyczne
Crawl4AI przed wersją 0.8.7 zawiera podatność umożliwiającą dowolny zapis plików w endpointach /screenshot i /pdf serwera API Docker. Parametr output_path akceptuje dowolne ścieżki systemowe bez walidacji, co pozwala atakującemu na nadpisanie plików serwera i spowodowanie odmowy usługi.
- CVE-2026-57572Krytyczne
Crawl4AI przed wersją 0.9.0 zawiera podatność w API Dockera, która pozwala na wstrzyknięcie argumentów do przeglądarki Chromium. Atakujący może wykorzystać przełączniki Chromium do podmiany polecenia uruchomienia procesu potomnego, co prowadzi do wykonania dowolnego kodu w kontenerze.
- CVE-2026-57571Krytyczne
W bibliotece Crawl4AI przed wersją 0.9.0 wykryto podatność na zapis dowolnego pliku. Atakujący może wpłynąć na nazwę pliku docelowego poprzez nagłówek Content-Disposition lub sugerowaną nazwę pliku, co umożliwia zapis pliku poza katalogiem docelowym. Może to prowadzić do zdalnego wykonania kodu.
- CVE-2026-53753Krytyczne
Crawl4AI przed wersją 0.8.7 zawiera podatność w funkcji _safe_eval_expression() w mechanizmie computed fields. Walidator AST blokuje tylko atrybuty zaczynające się od podkreślenia, ale atrybuty obiektów generatora i ramki (gi_frame, f_back, f_builtins) nie zaczynają się od podkreślenia, co umożliwia całkowitą ucieczkę z sandboksa i wykonanie dowolnego kodu. Atak nie wymaga uwierzytelnienia (JWT domyślnie wyłączone) i jest wyzwalany przez POST /crawl z spreparowanym schematem ekstrakcji.
- CVE-2026-26216Krytyczne
Crawl4AI w wersjach przed 0.8.0 zawiera podatność zdalnego wykonania kodu w API Docker. Punkt końcowy /crawl akceptuje parametr hooks zawierający kod Python, który jest wykonywany za pomocą exec(). Dozwolone wbudowane funkcje obejmowały __import__, co pozwala nieuwierzytelnionym atakującym na importowanie dowolnych modułów i wykonywanie poleceń systemowych.
- CVE-2026-119122Średnie
Crawl4AI przed 0.9.5 zawiera podatność blind server-side request forgery w serwerze Docker, która pozwala klientom API obejść proxy wyjściowe poprzez włączenie check_cache_freshness. Atakujący mogą zapisać w pamięci podręcznej kontrolowany URL, a następnie wywołać CacheValidator, aby podążał za przekierowaniami 302 lub DNS rebinding do adresów wewnętrznych i metadanych chmury w celu odkrywania portów i usług.
- CVE-2026-119121Średnie
Crawl4AI od 0.9.0 do 0.9.4 zawiera podatność wstrzyknięcia JavaScript w serwerze API Docker, która pozwala uwierzytelnionym klientom API uruchomić dowolny JavaScript na stronie crawlowej poprzez pola css_selector i wait_for z listy dozwolonych. Atakujący mogą wstrzyknąć cudzysłowy do css_selector lub dostarczyć warunki js: w wait_for, omijając blokadę js_code, aby zmienić stan strony i zwracaną treść crawlowania.
- CVE-2026-119120Wysokie
Crawl4AI w wersjach od 0.9.0 do 0.9.5 nie filtruje pola model_name w CosineStrategy w niezaufanych treściach żądań API Docker. Uwierzytelniony klient może wybrać model HuggingFace ładowany przez serwer, wskazując złośliwe repozytorium z plikiem wag pickle.
- CVE-2026-119119Wysokie
Crawl4AI przed wersją 0.9.5 zawiera podatność na odmowę usługi w serwerze API Docker, gdzie funkcja _clamp_untrusted() nie ogranicza pól delay_before_return_html, mean_delay i max_range w niezaufanych treściach CrawlerRunConfig. Nieuwierzytelniony atakujący może wysyłać ogromne wartości do /crawl lub /crawl/stream.
- CVE-2026-119118Średnie
Crawl4AI w wersji przed 0.9.5 zawiera podatność na nieprawidłową walidację certyfikatów, ponieważ Chromium jest zawsze uruchamiany z flagą --ignore-certificate-errors. Atakujący w sieci (man-in-the-middle lub kontrolujący DNS) mogą dostarczać sfałszowaną treść do crawlera oraz odczytywać wysyłane ciasteczka i nagłówki. Dodatkowo twardo zakodowana flaga --no-sandbox nadpisuje ustawienie CRAWL4AI_CHROMIUM_SANDBOX.
Oryginalny opis (angielski, źródło NVD)
crawl4ai before 0.9.3 contains an arbitrary file write vulnerability in PDFContentScrapingStrategy where the _filter_untrusted_fields function fails to validate untrusted configuration fields. Attackers can submit crafted config bodies with malicious image_save_dir paths to write attacker-controlled bytes into any directory accessible to the service account.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

