🇰🇷 한글 설명
PHP 의존성 관리 도구인 Composer의 특정 버전에서 패키지 바이너리 엔트리에 상위 디렉토리 경로(..)가 포함될 경우, 패키지 설치 디렉토리를 벗어나 호스트의 기존 파일에 접근할 수 있습니다. 이로 인해 composer install, update 또는 require 과정에서 호스트 파일의 권한이 누구나 읽고 실행할 수 있는 모드로 변경될 수 있습니다.
💡 쉬운 설명
Composer를 통해 패키지를 설치할 때, 악의적으로 조작된 패키지가 내 컴퓨터의 다른 중요한 파일의 권한을 마음대로 바꿔버릴 수 있는 문제입니다. 이로 인해 원래는 보호되어야 할 파일이 누구나 열어볼 수 있는 상태가 될 위험이 있습니다.
🇺🇸 원문 (English)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
📍 영향받는 시스템
Composer versions prior to 2.2.29 and 2.10.2
⚔️ 공격 벡터
악의적으로 조작된 '..' 경로 세그먼트가 포함된 Composer 패키지를 설치하거나 업데이트할 때 발생
🛡️ 대응 방법
Composer를 버전 2.2.29 또는 2.10.2 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.2.29 또는 2.10.2 이상인지 확인하여 취약 여부를 판단합니다.
composer --version | grep -E '2(\.(29|10\.2|[0-9]+))?'