🇰🇷 한글 설명
Crawl4AI 0.9.0 이상 0.9.5 미만 버전은 인증된 Docker API 요청 본문의 CosineStrategy model_name 필드를 필터링하지 않아, 클라이언트가 서버가 로드할 HuggingFace 모델을 임의로 지정할 수 있습니다. 공격자는 악성 pickle 가중치 파일을 포함한 저장소를 지정해 PyTorch 2.6 미만 환경에서 Python 코드를 실행하거나, 디스크와 메모리를 고갈시킬 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 서버에 불러올 AI 모델을 마음대로 고를 수 있는 문제입니다. 악의적인 모델을 지정하면 서버에서 임의의 프로그램이 실행되거나 저장공간과 메모리가 고갈될 수 있습니다.
🇺🇸 원문 (English)
Crawl4AI from 0.9.0 before 0.9.5 fails to filter the CosineStrategy model_name field in untrusted Docker API request bodies, allowing authenticated clients to choose which HuggingFace model the server loads. Attackers can reference a malicious repository with a pickle weight file to execute Python code under PyTorch below 2.6, or exhaust disk and memory.
📍 영향받는 시스템
Crawl4AI 0.9.0 이상 0.9.5 미만 (PyTorch 2.6 미만 환경에서 원격 코드 실행 위험)
⚔️ 공격 벡터
인증된 클라이언트가 Docker API 요청에서 model_name을 악성 HuggingFace 저장소로 지정해 pickle 파일 역직렬화로 코드 실행 또는 리소스 고갈 유발
🛡️ 대응 방법
Crawl4AI를 0.9.5 이상으로 업그레이드하고, PyTorch를 2.6 이상으로 갱신하며, 신뢰할 수 없는 모델 저장소 접근을 차단하고 API 입력 검증을 적용
🔧 검증 코드
Crawl4AI 버전이 0.9.5 미만이거나 PyTorch 버전이 2.6 미만이면 취약한 상태이므로 업그레이드가 필요하며, 명령이 아무 출력도 없으면 해당 패키지가 설치되지 않은 것입니다.
pip show crawl4ai 2>/dev/null | grep -i version; python3 -c "import torch; print(torch.__version__)" 2>/dev/null