🔍 CVE-2026-125121

5.3
CVSS Score
MEDIUM
2026-11-10
2026-11-10 17:17
✅ 완료

🇰🇷 한글 설명

compose-lint는 배포 전에 위험한 Docker Compose 설정을 찾아내는 보안 린터입니다. 0.31.0 버전에서는 GitHub Actions 워크플로 명령 시작 문자열을 ASCII 공백과 탭 뒤에서만 이스케이프하지만, 러너는 줄의 모든 선행 유니코드 공백을 제거한 뒤 해석합니다. 따라서 선행 유니코드 공백 뒤에 ::가 오는 신뢰할 수 없는 값이 CI에서 실행될 때 워크플로 명령으로 처리될 수 있습니다. 0.32.0에서 수정되었습니다.

💡 쉬운 설명

compose-lint라는 도구가 특정 특수 공백 문자를 제대로 처리하지 못해, CI 실행 결과가 의도치 않은 자동화 명령으로 해석될 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.

🇺🇸 원문 (English)

compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. In version 0.31.0, compose-lint escapes GitHub Actions workflow-command openers only after ASCII spaces and tabs, while the runner strips all leading Unicode whitespace before interpreting a line. Untrusted Compose values or repository paths beginning with Unicode whitespace followed by :: can therefore reach the text report, fix guidance, the fix dry-run diff, and stderr diagnostics as workflow commands when the package, pre-commit hook, or Docker image runs directly in CI. The GitHub Action is not affected because it disables command processing, and the flaw does not change the lint pass or fail result. This issue is fixed in version 0.32.0.

📍 영향받는 시스템

compose-lint 0.31.0 이하 버전 (패키지, pre-commit 훅, Docker 이미지를 CI에서 직접 실행하는 경우)

⚔️ 공격 벡터

선행 유니코드 공백 뒤에 '::'가 붙은 악성 Compose 값이나 저장소 경로를 통해 CI 로그에서 워크플로 명령을 주입

🛡️ 대응 방법

compose-lint를 0.32.0 이상으로 업그레이드

🔧 검증 코드

출력된 Version 값이 0.32.0 미만이면 취약하며, 0.32.0 이상이면 수정된 버전입니다. 아무 결과도 없으면 설치되지 않은 것입니다.

Shell / Script
pip show compose-lint 2>/dev/null | grep -i version || (dpkg -l compose-lint 2>/dev/null | grep compose-lint)

📊 CVSS Vector String

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N

💻 영향받는 소프트웨어

Docker