🇰🇷 한글 설명
PHP 의존성 관리 도구인 Composer에서 패키지 이름 검증 미흡으로 인해 발생하는 취약점입니다. 신뢰할 수 없는 저장소의 악성 패키지를 설치하거나 업데이트할 때, 공격자가 제어하는 파일이 프로젝트 외부의 임의 위치에 생성될 수 있습니다.
💡 쉬운 설명
나쁜 의도를 가진 패키지를 설치하면 컴퓨터의 엉뚱한 곳에 몰래 파일을 만들 수 있는 보안 구멍입니다. 이를 통해 해커가 시스템의 중요한 파일을 조작할 위험이 있습니다.
🇺🇸 원문 (English)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a maliciously crafted package from an untrusted repository other than Packagist.org or Private Packagist can cause Composer to write attacker-controlled files outside the vendor directory and outside the project during install or update by using an invalid package name that is not correctly validated before dependency-resolution results are written or installed. This issue is fixed in versions 2.2.29 and 2.10.2.
📍 영향받는 시스템
Composer versions prior to 2.2.29 and 2.10.2
⚔️ 공격 벡터
Packagist.org 이외의 신뢰할 수 없는 저장소로부터 조작된 패키지 이름을 가진 패키지를 설치/업데이트함
🛡️ 대응 방법
Composer를 버전 2.2.29 또는 2.10.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 현재 설치된 Composer 버전이 취약점이 해결된 버전(2.2.29 이상 또는 2.10.2 이상)인지 확인합니다.
composer --version | grep -E '2\.(2\.[2-9][9-9]|10\.[0-2])|2\.(2\.[3-9][0-9]|1[0-9]\.[0-9]{2}|[3-9][0-9]\.[0-9]{2})'