🇰🇷 한글 설명
ciguard는 CI/CD 파이프라인을 위한 정적 보안 감사 도구입니다. 0.6.0부터 0.8.1까지 SCA HTTP 클라이언트(osv.py, endoflife.py)가 응답 크기 제한 없이 JSON을 읽어 들여, 악의적이거나 침해된 외부 서비스 응답이 대용량 데이터를 보내면 메모리가 고갈될 수 있습니다. 0.8.2에서 수정되었습니다.
💡 쉬운 설명
보안 점검 도구가 외부 서비스로부터 데이터를 받을 때 받는 양을 제한하지 않았습니다. 그래서 공격자가 아주 큰 데이터를 보내면 도구가 메모리를 모두 써버려 멈출 수 있습니다.
🇺🇸 원문 (English)
ciguard is a static security auditor for CI/CD pipelines. From 0.6.0 to 0.8.1, both SCA HTTP clients (src/ciguard/analyzer/sca/osv.py and src/ciguard/analyzer/sca/endoflife.py) call payload = json.loads(resp.read().decode('utf-8')) without a maximum-bytes cap. A hostile or compromised endoflife.date / OSV.dev (or a successful TLS MITM) could return a multi-GB response, exhausting the ciguard process's memory. This vulnerability is fixed in 0.8.2.
📍 영향받는 시스템
ciguard 0.6.0 ~ 0.8.1 (SCA 분석기의 osv.py, endoflife.py 모듈 사용 환경)
⚔️ 공격 벡터
endoflife.date 또는 OSV.dev 서비스의 침해, 또는 TLS 중간자 공격으로 수 GB 규모의 응답을 전송해 프로세스 메모리를 고갈시킴
🛡️ 대응 방법
ciguard를 0.8.2 이상으로 업그레이드 (pip install --upgrade ciguard)
🔧 검증 코드
출력된 버전이 0.6.0 이상 0.8.1 이하이면 취약하며, 0.8.2 이상이면 패치된 상태입니다.
pip show ciguard 2>/dev/null | grep -E '^Version'