🇰🇷 한글 설명
Composer는 PHP용 의존성 관리자입니다. 2.x 브랜치의 2.2.26 및 2.9.3 이전 버전에서 Composer가 다운로드하는 원격 소스를 제어하는 공격자가 터미널 출력에 ANSI 제어 문자를 삽입하여 출력을 망칠 수 있습니다. 이는 터미널 애플리케이션의 혼란이나 서비스 거부로 이어질 수 있습니다. 확인된 악용 사례는 없지만 잠재적인 악용 가능성이 있어 낮은 심각도로 취약점을 공개합니다.
💡 쉬운 설명
Composer의 일부 버전은 원격 소스에서 ANSI 제어 문자를 삽입하여 터미널 출력을 망칠 수 있는 취약점을 가지고 있습니다. 이는 터미널 애플리케이션의 혼란이나 서비스 거부로 이어질 수 있습니다. 영향을 받는 버전은 2.2.26 및 2.9.3 이전의 2.x 브랜치입니다.
🇺🇸 원문 (English)
Composer is a dependency manager for PHP. In versions on the 2.x branch prior to 2.2.26 and 2.9.3, attackers controlling remote sources that Composer downloads from might in some way inject ANSI control characters in the terminal output of various Composer commands, causing mangled output and potentially leading to confusion or DoS of the terminal application. There is no proven exploit and this has thus a low severity but we still publish a CVE as it has potential for abuse, and we want to be on the safe side informing users that they should upgrade. Versions 2.2.26 and 2.9.3 contain a patch for the issue.
📍 영향받는 시스템
Composer 2.x 브랜치의 2.2.26 및 2.9.3 이전 버전
⚔️ 공격 벡터
원격 소스를 제어하여 ANSI 제어 문자를 삽입
🛡️ 대응 방법
Composer를 2.2.26 또는 2.9.3 이상의 버전으로 업그레이드
🔧 검증 코드
이 코드는 Python 3.x를 사용하여 Composer의 버전을 확인합니다. 코드를 실행하기 전에 Python이 설치되어 있는지 확인하세요. 코드를 실행하면 Composer의 버전이 취약한 버전인지 확인하여 결과를 출력합니다.
python -c "import subprocess; output = subprocess.check_output(['composer', '--version']).decode('utf-8'); version = output.split(' ')[2]; if version < '2.2.26' or version < '2.9.3': print('{"result": "취약", "reason": "Composer 버전이 낮습니다."}') else: print('{"result": "양호", "reason": "Composer 버전이 최신입니다."}')"