원문 캡처 · github.com
원문 캡처 · github.com

PHP2Shell Fixer는 2026년 10월 21일 수정된 PHP의 치명적 취약점 두 건(CVE-2026-109618, CVE-2026-109619)에 대해 PHP를 업데이트하기 전까지 임시 설정을 적용하는 도구다. 근본적인 해결책은 PHP를 8.5.12, 8.4.27, 8.3.36, 8.2.35 이상으로 업데이트하는 것이며, 임시 설정은 php.net 권고를 따른다.

Linux와 macOS에서는 웹에서 바로 실행할 수 있다.

sh
curl -fsSL https://wasdthedebugger.github.io/php2shell/fix | php

PHP 설정 파일을 수정하는 데 관리자 권한이 필요하면 sudo를 붙인다. -- --check를 추가하면 변경 없이 점검만 한다.

sh
curl -fsSL https://wasdthedebugger.github.io/php2shell/fix | sudo php
curl -fsSL https://wasdthedebugger.github.io/php2shell/fix | php -- --check

파일을 내려받아 실행하는 방식은 Windows에서도 사용할 수 있으며, 이때는 curl.exe를 사용한다.

sh
curl -fsSLo php2shell.php https://wasdthedebugger.github.io/php2shell/fix
php php2shell.php # guided wizard
php php2shell.php --check # look only, change nothing
php php2shell.php --undo # restore a backup

설치할 것은 없으며 PHP 5.6 이상이 설치된 Linux, macOS, Windows에서 실행된다. 프로젝트 폴더에서 실행하면 수정 사항을 되돌릴 수 있는 설정이 프로젝트 안에 있는지도 검사한다. 마법사는 PHP 실행 방식과 설정 파일을 확인하고, 버전이 패치됐는지 점검한 뒤 각 수정 사항을 묻고 미리보기를 보여준다. 사용자가 동의하기 전에는 설정을 바꾸지 않으며, 먼저 원본을 ~/.php2shell/backups/에 백업한다. 관리자 권한이 필요하면 Linux와 macOS에서는 sudo php php2shell.php, Windows에서는 관리자 권한 명령 프롬프트를 사용한다.

문서 사이트에는 각 수정 사항과 설정 방식에 대한 설명이 있다. 사이트는 저장소의 docs/에 있는 HTML을 GitHub Pages로 제공한다. 스크립트를 변경한 뒤에는 docs/fix에 둔 스크립트 복사본도 갱신해야 한다.

sh
cp php2shell.php docs/fix