Crawl4AI przed wersją 0.8.7 zawiera podatność umożliwiającą obejście uwierzytelnienia (Auth Bypass) z powodu zakodowanego na stałe domyślnego klucza podpisującego tokeny JWT w serwerze Docker API. Podatność jest krytyczna, ponieważ każdy atakujący znający ten domyślny klucz może sfałszować ważne tokeny uwierzytelniające dla dowolnego użytkownika.
▸ Pokaż oryginał (EN)
Crawl4AI before 0.8.7 contains an authentication bypass vulnerability due to a hardcoded default JWT signing key in the Docker API server. Attackers who know the default key can forge valid authentication tokens for any user, bypassing authentication and gaining full access to protected functionality.
Serwer Docker API aplikacji Crawl4AI używa stałego, domyślnego klucza do podpisywania tokenów JWT (JSON Web Token). Klucz ten jest zakodowany bezpośrednio w kodzie źródłowym (CWE-798 — Use of Hard-coded Credentials). Atakujący, który zna ten klucz, może samodzielnie wygenerować i podpisać prawidłowy token JWT dla dowolnego użytkownika. Tak spreparowany token jest akceptowany przez aplikację jako autentyczny, co daje atakującemu pełny dostęp do chronionych funkcji API bez konieczności posiadania rzeczywistych poświadczeń.
Atakujący może całkowicie ominąć mechanizm uwierzytelnienia i uzyskać pełny dostęp do wszystkich chronionych funkcji serwera Docker API, co może prowadzić do nieuprawnionego odczytu, modyfikacji lub usunięcia danych oraz wykonywania operacji w imieniu dowolnego użytkownika.
Należy zaktualizować Crawl4AI do wersji 0.8.7 lub nowszej, w której problem zakodowanego klucza JWT został usunięty. Dodatkowo zaleca się wymuszenie rotacji wszelkich tokenów JWT wygenerowanych przed aktualizacją oraz weryfikację logów dostępu pod kątem nieautoryzowanych żądań.
Kidocode Crawl4AI w wersjach przed 0.8.7, wdrożonych z użyciem serwera Docker API.
CVSS:4.0/AV:N/AC:L/AT:N/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.7
Powiązane podatności
Crawl4AI: zapis dowolnych plików poza katalogiem przez path traversal i TOCTOU
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
RCE w Crawl4AI — wykonanie kodu przez endpoint /crawl bez uwierzytelnienia
Path Traversal w Crawl4AI — odczyt dowolnych plików przez file:// URL