Crawl4AI przed wersją 0.8.8 zawiera podatność umożliwiającą nieuwierzytelnionym atakującym zapis dowolnych plików poza zamierzonym katalogiem wyjściowym. W sprzyjających warunkach może to prowadzić do wykonania kodu na serwerze (RCE).
▸ Pokaż oryginał (EN)
Crawl4AI before 0.8.8 contains an arbitrary file write vulnerability in the screenshot and PDF endpoints that allows unauthenticated attackers to write files outside the intended directory via symlink and time-of-check-time-of-use (TOCTOU) attacks on the output_path parameter. Remote attackers can exploit insufficient path validation and symlink following to achieve arbitrary file write and potential code execution on systems where the runtime user has write access to executable or cron locations.
Endpointy odpowiedzialne za generowanie zrzutów ekranu i plików PDF nie walidują wystarczająco parametru output_path. Atakujący może wskazać jako cel ścieżkę zawierającą dowiązanie symboliczne (symlink), a następnie wykorzystać lukę typu time-of-check-time-of-use (TOCTOU) — tj. podmienić cel dowiązania pomiędzy momentem sprawdzenia ścieżki a jej faktycznym użyciem. Skutkuje to zapisem treści kontrolowanej przez atakującego w dowolnym miejscu systemu plików dostępnym dla procesu aplikacji. Jeśli użytkownik, w którego kontekście działa aplikacja, posiada uprawnienia zapisu do lokalizacji wykonywalnych lub katalogów cron, możliwe jest uzyskanie RCE.
Atakujący bez uwierzytelnienia może zapisać dowolne pliki w miejscach dostępnych dla procesu aplikacji, co w szczególnych konfiguracjach systemu prowadzi do zdalnego wykonania kodu (RCE) poprzez podmianę plików wykonywalnych lub zadań cron.
Należy zaktualizować Crawl4AI do wersji 0.8.8 lub nowszej, w której wprowadzono poprawki walidacji parametru output_path. Szczegóły dostępne są w referencjach producenta: https://github.com/unclecode/crawl4ai/security/advisories/GHSA-7cx2-g3h9-382p
Kidocode Crawl4AI w wersjach przed 0.8.8
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XKidocode Crawl4ai
APPKidocode< 0.8.8
Powiązane podatności
RCE w Crawl4AI — ucieczka z sandbox poprzez atrybuty generatorów Python
SSRF w Crawl4AI — ominięcie blokady adresów wewnętrznych przez IPv6-mapped IPv4
Obejście uwierzytelnienia w Crawl4AI przez zakodowany klucz JWT
RCE w Crawl4AI — wykonanie kodu przez endpoint /crawl bez uwierzytelnienia
Path Traversal w Crawl4AI — odczyt dowolnych plików przez file:// URL