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
SSRF w Crawl4AI — brak walidacji adresów webhook w Docker API
Crawl4AI: path traversal umożliwiający zapis dowolnych plików i RCE
Crawl4AI: RCE przez wstrzyknięcie argumentów Chromium w Docker API
Crawl4AI: Dowolne wykonanie JavaScript przez endpoint /execute_js
RCE w Crawl4AI — ucieczka z sandbox poprzez atrybuty generatorów Python