또 다른 플러그인 공포가 아닌 런타임 버그
PHP2Shell은 CVE-2026-109618 및 CVE-2026-109619라는 두 가지 치명적인 취약점을 의미하며, 둘 다 9.2점의 'Critical(치명적)' 등급을 받았습니다. 이 결함들은 단순한 플러그인이나 CMS 관련 공포가 아닙니다. 이들은 PHP 인터프리터 코어 내부에 존재하며, 이는 위험 프로필을 크게 높이는 중요한 차이점입니다. 즉, 애플리케이션만 업데이트해서는 해결되지 않으며, 반드시 PHP를 업데이트해야 합니다.
이 메커니즘은 교묘합니다. 악의적인 요청이 초기 요청 처리 중에 PHP의 메모리를 고갈시킬 수 있습니다. 이로 인해 부분적으로 초기화되고 정리되지 않은 데이터가 메모리에 남게 됩니다. 이후의 요청이 이 불완전한 상태를 악용하여, 애플리케이션 코드가 실행되기 전에 인증되지 않은 원격 코드 실행(RCE)으로 이어집니다. 이는 일반적인 CMS나 프레임워크 수준의 보안 검증(sanitization)을 우회합니다.
PHP2Shell의 잠재적 영향 범위는 매우 넓습니다. PHP는 전체 서버 측 웹사이트의 약 70~77%를 구동하므로, 이는 광범위한 위협입니다. 보안 연구 기업인 Wiz는 다음 최신 버전의 초기 설치 환경에서 익스플로잇 가능성을 입증했습니다:
- WordPress
- Drupal
- Joomla
그들은 이 취약점이 최소한의 Hello, World! 애플리케이션에도 영향을 미친다는 것을 확인했으며, 이는 특정 애플리케이션 코드가 아닌 언어 자체에 위험이 있음을 강조합니다. 영향을 받는 PHP 버전은 5.4부터 8.5까지 10년 이상에 걸쳐 있으며, 이는 전 세계 거의 모든 PHP 배포 환경에서 패치가 시급한 우선순위임을 의미합니다.
애플리케이션 업데이트가 해결책이 되지 않는 이유
애플리케이션 업데이트로는 PHP2Shell을 해결할 수 없습니다. 이 결함은 PHP 인터프리터 자체 내에서 작동하며, WordPress, Drupal, Joomla와 같은 프레임워크의 애플리케이션 라우팅이나 보안 검증 로직이 실행되기 전에 작동합니다. 애플리케이션이나 플러그인을 업데이트해도 방어할 수 없으며, 기반이 되는 PHP 런타임 자체가 공격 표면이기 때문입니다.
보고된 CVE-2026-109618 및 CVE-2026-109619 취약점의 범위는 PHP 버전 5.4부터 8.5까지입니다. 즉각적인 조치가 중요합니다. PHP Foundation은 패치된 버전인 8.2.35, 8.3.36, 8.4.27, 8.5.12를 출시했습니다. 레거시 브랜치의 경우, 지원되는 백포트를 요구하거나 현재 패치된 릴리스로의 마이그레이션을 우선시하십시오.
관리자는 잊혀진 서버와 컨테이너 이미지를 포함하여 인프라 전반의 모든 PHP 런타임에 대한 철저한 인벤토리를 수행해야 합니다. 즉시 패치하거나 백포트한 다음, 실행 중인 PHP 버전을 확인하십시오. 원격 코드 실행 가능성을 방지하기 위해 수정할 수 없는 시스템은 격리하십시오.
공격자에게 출발 신호를 준 공개 과정
PHP2Shell의 공개는 치명적인 취약점을 관리하지 말아야 할 방식의 전형을 보여주며, 공격자에게 불필요한 출발 신호를 주었습니다. 화요일에 CVE-2026-109618 및 CVE-2026-109619에 대한 세부 정보가 잘못된 10.0 심각도 등급과 함께 Hacker News에 나타났고, 이로 인해 PHP Foundation은 패치 출시를 수요일로 앞당겨야 했습니다. 이러한 압축된 일정은 혼란스러운 환경을 조성했습니다.
상황을 더욱 복잡하게 만든 것은, 발견에 참여했던 보안 기업 Calif가 작동하는 익스플로잇을 시연하는 영상을 실수로 게시한 것입니다. 빠르게 삭제되었지만 사본이 널리 퍼지면서 사실상 공격자들에게 설계도를 넘겨준 꼴이 되었습니다. 공식 패치가 나오기 몇 시간 전, Chainguard는 패치된 PHP 컨테이너 이미지를 출시했고, 이를 통해 리버스 엔지니어들이 수정 사항을 분석하여 대부분의 방어자가 대응하기 훨씬 전에 익스플로잇 벡터를 재구성할 수 있게 되었습니다.
이러한 조기 노출은 즉각적인 결과를 초래했습니다. 보고서에 따르면 실제 환경에서 사전 공개 탐색 및 공격 시도가 활발히 이루어지고 있음이 확인되었습니다. 대규모 침해는 아직 확인되지 않았으나, 4chan, BreachForums 및 Wikimedia 서비스와 같은 플랫폼이 예방 조치로 일시적으로 오프라인 상태가 될 만큼 위협이 심각했습니다. 이 치명적인 위협에 대한 자세한 내용은 Critical Vulnerabilities in PHP Require Immediate Patching - CISA와 같은 리소스를 참조하십시오. 이러한 조정된 공개 과정의 결함은 방어자와 공격자 모두에게 기회의 창을 넓혔으며, 취약점 관리의 미묘한 균형을 강조했습니다.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
AI가 버그 발생부터 침해까지의 시간을 단축시키고 있습니다
Wiz 보안 연구원들은 과거 전문가 팀이 몇 달 걸려 수행하던 작업을 개인이 일주일 만에 달성했다는 엄중한 경고를 발표했습니다. 인공지능은 취약점 분석과 공격 코드 개발을 모두 가속화하여, 공개와 실제 공격 사이의 시간을 단축시키고 있습니다. 이는 기반 소프트웨어에 대한 위험 환경을 극적으로 변화시키고 있습니다.
이번 PHP 위기는 다른 치명적인 취약점들과 동시에 발생했습니다. Node.js는 원격 코드 실행 결함을 패치했으며, GitLab은 10.0점짜리 보안 구멍인 CVE-2026-109620에 대한 수정 사항을 같은 날 배포했습니다. 보안 팀은 핵심 인프라 구성 요소 전반에 걸쳐 동시다발적인 압박에 직면해 있으며, 이는 시스템적 위험이 이제 예외가 아닌 일상이 되었음을 확인시켜 줍니다.
버그를 찾는 것이 가장 어려운 부분이라는 전제하에 구축된 전통적인 공개 모델은 더 이상 유효하지 않습니다. 엠바고와 취약점 대응 계획은 점점 더 취약해지고 있습니다. Chainguard가 패치된 PHP 이미지를 게시하여 일방적으로 엠바고를 깼을 때, 이는 공격자들에게 선제적인 이점을 제공하여 공격을 위한 경쟁을 가속화했습니다.
잊혀진 서버를 포함하여 지금 즉시 PHP를 패치하는 것은 협상의 여지가 없습니다. 모든 시스템에서 의심스러운 활동을 모니터링하십시오. PHP2Shell 사건은 신속한 수정이 최우선의 방어책임을 보여주는 명확한 신호입니다. 공개된 모든 취약점은 전례 없는 속도로 무기화될 것이라고 가정하고, 즉각적이고 단호하게 대응해야 합니다.
자주 묻는 질문
PHP2Shell이란 무엇인가요?
PHP2Shell은 취약한 서버에서 원격 코드 실행을 가능하게 할 수 있는 두 가지 치명적인 PHP 런타임 취약점에 붙여진 이름입니다.
어떤 PHP 버전이 영향을 받나요?
보고된 결함은 PHP 5.4부터 8.5 버전까지 영향을 미칩니다. 패치된 릴리스에는 PHP 8.2.35, 8.3.36, 8.4.27 및 8.5.12가 포함됩니다.
WordPress나 다른 CMS를 업데이트하면 PHP2Shell 문제를 해결할 수 있나요?
아니요. 결함은 PHP 인터프리터 자체에 있으므로, 관리자는 PHP를 직접 업데이트하거나 적절한 백포트를 적용해야 합니다.
관리자가 취약한 PHP 사이트를 오프라인으로 전환해야 하나요?
즉시 패치하거나 백포트할 수 없는 경우, 기관들은 보안이 확보될 때까지 영향을 받는 인스턴스의 연결을 끊을 것을 권고했습니다.

