php2shell의 해결책은 무엇인가요?
영향받는 모든 런타임에 PHP 보안 업데이트를 적용하고 관련 서비스와 워커를 재시작하는 것입니다. 연구진은 "PHP 업그레이드가 유일한 완전한 조치"라고 명시했습니다.
취약점이 애플리케이션이 아니라 PHP 코어에 있습니다. 설정이나 프레임워크 종류와 무관하게 성립하며, 연구진은 PHP 업그레이드가 유일한 완전한 조치라고 명시했습니다.
WordPress · Drupal · Joomla도 예외가 아닙니다. 취약점이 PHP 엔진 자체에 있어 애플리케이션 종류나 설정과 무관하게 성립합니다.
PHP 코어에서 서로 연관된 두 유형이 확인됐습니다. 메모리 부족(OOM) 손상, 그리고 요청 간에 남는 낡은 전역 상태입니다. 두 건 모두 CVSS 9.2입니다.
패키지만 교체하고 워커를 재시작하지 않으면 기존 워커가 구 코드로 계속 동작합니다.
아래는 모두 시간을 버는 수단이지 해결책이 아닙니다. 설정을 바꾼 뒤에도 영향받는 워커를 재시작해야 적용됩니다.
대체 메모리 한계로 RLIMIT_AS나 RLIMIT_DATA를 사용하지 마십시오. 연구진이 명시한 금지 사항입니다.
php2shell은 패치 버전만 알면 끝나는 사안이 아닙니다. PHP를 쓰는 모든 자산이 대상이라 영향 목록이 길게 나오고, 그중 실제로 공격이 성립하는 자산을 가려야 조치 순서가 정해집니다.
판정에 필요한 변수는 자산마다 다릅니다. mod_php인지 PHP-FPM인지, multipart 요청이 그 경로에 닿는지, session.upload_progress와 memory_limit이 어떤 값인지에 따라 같은 버전이라도 결과가 갈립니다.
조직이 실제로 치르는 비용은 패치 작업 자체보다 영향 범위를 닫는 데 드는 시간입니다. 구성품과 버전 정보를 평소에 정리해 두면 다음 취약점 때 그 시간이 줄어듭니다.
영향받는 모든 런타임에 PHP 보안 업데이트를 적용하고 관련 서비스와 워커를 재시작하는 것입니다. 연구진은 "PHP 업그레이드가 유일한 완전한 조치"라고 명시했습니다.
완전히는 보호하지 못합니다. 연구진은 WAF 커버리지가 제공업체와 악용 경로에 따라 달라진다고 밝혔고, PHP 공식 공지도 완전한 완화책은 없으며 업데이트가 유일한 안전한 선택이라고 명시했습니다.
세 가지를 확인합니다. CLI의 php -v가 아니라 웹 요청을 처리하는 SAPI 기준의 실제 버전, 배포판 패키지의 전체 버전 번호, 그리고 패치 후 워커 프로세스 재시작 여부입니다.
구성품 목록(SBOM)이 없으면 영향 범위 판정 자체가 어렵습니다.
일부 경로만 막습니다. PHP 공식 보안 공지는 기저 할당 실패가 여전히 취약 경로에 도달할 수 있다고 밝혔습니다. 메모리 한계를 없애면 요청 하나가 서버 메모리를 전부 소비할 수 있으므로 요청 크기 제한을 함께 적용해야 합니다.
정규 릴리스는 없지만 방법이 있습니다. PHP 보안팀이 7.4 · 8.0 · 8.1에 최소 소스 백포트를 php-src 저장소의 전용 브랜치로 공개했습니다. 배포판과 LTS 벤더의 백포트 패키지 제공 여부도 확인하시기 바랍니다.
PHP2Shell 연구진 공개 자료 · PHP 공식 보안 공지 · NVD 109618 · NVD 109619
연구·책임 공개: Wiz Research, OpenAI Codex Security, Calif. 버전·완화 항목은 2026년 10월 22일 조회 기준이며, 배포판별 패치 상태와 실제 실행 환경은 별도로 확인해야 합니다.