CVE-2026-40176
Composer는 악성 Perforce 저장소를 통한 Command Injection에 취약합니다
- 게시됨
- 2026. 4. 15.
- 업데이트됨
- 2026. 7. 15.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 62.8%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Composer는 PHP용 의존성 관리자입니다. 1.0부터 2.2.26까지, 그리고 2.3부터 2.9.5까지의 버전에는 Perforce::generateP4Command() 메서드에 명령 주입 취약점이 포함되어 있습니다. 이 메서드는 사용자가 제공한 Perforce 연결 매개변수(port, user, client)를 적절한 이스케이프 없이 보간하여 셸 명령을 구성합니다. 공격자는 Perforce VCS 저장소를 선언하는 악성 composer.json의 이러한 값을 통해 임의의 명령을 주입할 수 있으며, 이로 인해 Perforce가 설치되어 있지 않더라도 Composer를 실행하는 사용자의 컨텍스트에서 명령이 실행될 수 있습니다. VCS 저장소는 루트 composer.json 또는 Composer 구성 디렉터리에서만 로드되므로, 의존성으로 설치된 패키지의 composer.json 파일을 통해서는 악용될 수 없습니다. 사용자가 공격자가 제공한 composer.json 파일이 포함된 신뢰할 수 없는 프로젝트에서 Composer 명령을 실행하는 경우 위험에 노출됩니다. 이 문제는 Composer 2.2.27(2.2 LTS) 및 2.9.6(메인라인)에서 수정되었습니다.
소스
4CVE-2026-40176에 대한 차등 개념 증명으로, 악성 저장소 URL을 통해 Composer의 Perforce 드라이버에서 OS 명령 삽입을 보여주며, 영향을 받는 버전과 패치된 버전에 대한 자동 A/B 테스트를 포함합니다.
Composer의 Perforce 드라이버에서 명령 주입 취약점을 입증하는 개념 증명으로, 두 가지 공격 벡터와 Docker 기반 테스트를 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.