Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-84361-poc — CVE-2026-84361에 대한 개념 증명으로, 악성 P4PORT를 통한 Composer의 Perforce 드라이버에서 명령 주입을 시연하며, Docker 기반 검증 및 완화 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/saku0512/cve-2026-84361-poc
Vulnerability AnalysisExploitationWeb SecuritySupply Chain SecurityLearning & Education
GitHubsaku0512/cve-2026-84361-poc

CVE-2026-84361-poc

CVE-2026-84361에 대한 개념 증명으로, 악성 P4PORT를 통한 Composer의 Perforce 드라이버에서 명령 주입을 시연하며, Docker 기반 검증 및 완화 지침을 포함합니다.

저장소 보기
1321일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-84361: Composer Perforce P4PORT 명령 실행 PoC

English version

Docker에서 실행

Docker Compose를 사용하면 영향을 받는 Composer 2.10.2와 Perforce p4 클라이언트를 포함한 격리 환경에서 검증할 수 있습니다. 실행 컨테이너는 네트워크 비활성, 읽기 전용, capability 전체 삭제로 설정되며, 쓰기 가능한 곳은 tmpfs의 /tmp와 /work뿐입니다.

root@kitploit:~
# 이미지 빌드(p4는 공식 배포처에서 가져와 SHA-256을 대조)
docker compose build

# p4의 rsh: 동작을 직접 검증(기본값)
docker compose run --rm poc

# 취약한 Composer를 경유하여 검증
docker compose run --rm poc /usr/local/bin/run-composer-poc.sh

마지막 명령은 컨테이너 내 임시 작업 공간에서 composer update --prefer-source를 실행합니다. Perforce server가 아닌 마커 명령을 사용하므로 Composer 자체는 실패할 수 있지만, 마커가 생성되면 [+] VULNERABLE을 표시하고 정상 종료합니다.

개요

Composer의 Perforce VCS 드라이버에 존재하는 CVE-2026-84361의 로컬 검증용 PoC입니다. 영향을 받는 Composer는 패키지의 source.type이 perforce인 경우, 공격자가 제어할 수 있는 source.url을 p4 클라이언트의 P4PORT로 전달합니다.

p4는 rsh: / jsh: P4PORT를 네트워크 연결 대상이 아닌 로컬 명령으로 취급합니다. 따라서 신뢰할 수 없는 패키지 메타데이터 또는 composer.lock을 source 설치하면, Composer를 실행한 사용자 또는 CI 계정의 권한으로 명령이 실행됩니다.

이 PoC의 페이로드는 임시 영역에 빈 마커 파일을 만드는 것뿐입니다.

발견자: saku0512 (GitHub)

면책 조항

교육 목적 및 명시적으로 허가를 받은 환경에서의 보안 검증에만 사용하십시오. 허가 없이 타인의 시스템이나 CI 환경에서 실행해서는 안 됩니다.

취약점 세부 정보

  • CVE ID: CVE-2026-84361
  • 유형: OS 명령 주입 (CWE-78)
  • 영향: Composer 실행 사용자 권한으로 임의 명령 실행
  • 영향을 받는 버전: Composer >= 1.0, < 2.2.30 및 >= 2.3.0, < 2.10.3
  • 수정된 버전: 2.2.30 / 2.10.3

성립 조건은 p4가 PATH에 있을 것, 공격자가 Perforce source 메타데이터를 제어할 수 있을 것, 대상 패키지가 source에서 설치될 것 모두가 필요합니다. Packagist.org는 Perforce source 메타데이터를 허용하지 않으므로 Packagist만 사용하는 환경은 영향을 받지 않습니다.

PoC 사용 방법

1. 사전 요구 사항

  • PHP
  • 검증 대상 Composer(수정되지 않은 버전)
  • Perforce p4 클라이언트
root@kitploit:~
php -v
p4 -V

2. 안전한 dry-run

기본적으로 p4를 실행하지 않고, 위험한 P4PORT와 실행 예정 명령만 표시합니다.

root@kitploit:~
php poc.php

3. 허가된 로컬 검증

--execute는 p4에 rsh: P4PORT를 전달합니다. 페이로드는 sys_get_temp_dir() 아래의 고유한 마커 생성만 수행하며, 기본적으로 정리합니다.

root@kitploit:~
php poc.php --execute

[+] VULNERABLE이 출력되면 P4PORT를 통해 로컬 명령이 실행되었음을 확인할 수 있습니다. 마커를 남기려면 --keep-marker를 추가합니다.

4. Composer를 경유한 재현

동봉된 composer.json은 공격자가 배포하는 inline package repository의 최소 예시입니다. 격리 환경의 수정되지 않은 Composer와 p4로 다음을 실행합니다.

root@kitploit:~
composer update --prefer-source

수정된 버전은 p4를 실행하기 전에 유효하지 않은 Perforce port로 source.url을 거부합니다.

대응 방안

Composer를 2.2.30 또는 2.10.3 이상으로 업데이트하십시오. 신뢰할 수 있는 리포지토리와 lock file만 사용하고, Perforce를 사용하지 않는 환경에서는 p4를 PATH에서 제외하십시오.

참고 정보

  • GitHub Security Advisory: GHSA-rvx4-ffvw-m9q3
  • 수정 커밋 (2.10 계열)
  • 수정 커밋 (2.2 계열)
도구 다운로드