🇰🇷 한글 설명
Crawl4AI 0.9.5 이전 버전의 Docker API 서버에서 _clamp_untrusted() 함수가 신뢰할 수 없는 CrawlerRunConfig 요청의 delay_before_return_html, mean_delay, max_range 필드 값을 제한하지 않는 서비스 거부(DoS) 취약점이 존재합니다. 인증되지 않은 공격자가 /crawl 또는 /crawl/stream 엔드포인트에 과도하게 큰 값을 전송하여 브라우저 페이지를 점유하거나 속도 제한기를 지연시켜 페이지 풀을 고갈시키고 다른 크롤링 작업을 차단할 수 있습니다.
💡 쉬운 설명
누구나 인증 없이 크롤링 서버에 특수하게 조작된 요청을 보내 서버의 브라우저 자원을 모두 점유할 수 있습니다. 그 결과 정상적인 다른 크롤링 작업들이 처리되지 못하고 서비스가 멈추게 됩니다.
🇺🇸 원문 (English)
Crawl4AI before 0.9.5 contains a denial of service vulnerability in the Docker API server where _clamp_untrusted() fails to cap the delay_before_return_html, mean_delay, and max_range fields of untrusted CrawlerRunConfig bodies. Unauthenticated attackers can send huge values to /crawl or /crawl/stream to hold browser pages or stall the rate limiter, exhausting the page pool and blocking other crawls.
📍 영향받는 시스템
Crawl4AI 0.9.5 미만 버전의 Docker API 서버
⚔️ 공격 벡터
인증 없이 /crawl 또는 /crawl/stream 엔드포인트에 매우 큰 delay_before_return_html, mean_delay, max_range 값을 포함한 요청을 반복 전송
🛡️ 대응 방법
Crawl4AI를 0.9.5 이상 버전으로 업그레이드하고, 필요 시 API 서버 앞단에 인증 및 요청 속도 제한을 적용
🔧 검증 코드
출력된 버전이 0.9.5 미만이면 취약하므로 업그레이드가 필요하고, 0.9.5 이상이면 패치가 적용된 상태입니다.
pip show crawl4ai 2>/dev/null | grep -i '^version'