무슨 일이 있었나
버전 0.9.0 이전에서 Crawl4AI의 Docker API 서버는 사용자가 제공한 browser_config.extra_args를 정제 없이 Chromium의 실행 인수에 직접 전달했습니다. 이러한 인수들이 하위 프로세스 호출을 제어하기 때문에, 공격자는 실행 명령을 완전히 대체하여 API 접근 외에 인증이 필요 없는 원격 코드 실행을 달성할 수 있었습니다.
왜 중요한가
Crawl4AI는 LLM/RAG 파이프라인에 데이터를 공급하기 위해 특별히 설계된 인기 있는 오픈소스 크롤러입니다. Docker API 서버의 CVSS 10.0 인증 없는 RCE는 AI 애플리케이션을 위한 콘텐츠 소스로 사용되는 모든 인터넷 기반 또는 멀티테넌트 Crawl4AI 배포가 완전히 장악될 수 있음을 의미하며, 데이터 도용, 연결된 AI 인프라로의 횡적 이동, 또는 추가 공격의 발판으로 사용될 수 있습니다 — JadePuffer/Langflow의 AI 도구 RCE로 인한 완전 장악 패턴과 직접 유사합니다.
공격 경로
Docker API 서버는 요청 제공 browser_config.extra_args를 수용하며, 이는 정제 없이 Chromium의 실행 인수로 흘러갑니다. 공격자는 하위 프로세스 실행 명령을 대체하는 Chromium 명령줄 스위치를 주입하여 크롤러를 호스팅하는 서버에서 임의의 코드 실행을 달성할 수 있습니다.
영향받는 시스템
Crawl4AI (unclecode/crawl4ai) Docker API 서버, 0.9.0 이전 버전
완화 방안
Crawl4AI >= 0.9.0으로 업그레이드하세요. 신뢰할 수 없는 네트워크에 Crawl4AI Docker API 서버를 노출하지 마세요. browser_config 매개변수에 대한 허용 목록이 없는 경우입니다.