PHP2Shell은 PHP 런타임에서 발견된 치명적 취약점 두 건, CVE-2026-109618과 CVE-2026-109619를 통칭한다. 특정 조건에서는 인증되지 않은 공격자가 서버에서 코드를 실행할 수 있다. PHP는 2026년 10월 21일 PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12를 수정 버전으로 공개했다.
5
36 우선 웹 요청을 처리하는 PHP 런타임을 업데이트하거나 해당 제품 공급업체의 패치를 적용한 뒤, 실제 서비스가 수정된 버전을 사용하는지 확인해야 한다.
두 취약점은 무엇이 다른가
두 문제 모두 특정 웹사이트의 애플리케이션 코드가 아니라 PHP 자체의 메모리 안전성 문제다. 연구진은 PHP 런타임이 메모리를 처리하는 과정에서 이미 해제된 메모리나 오래된 상태가 다시 사용될 수 있는 경로를 설명했다.
6
9
- CVE-2026-109618은 PHP의 업로드 진행 상황 처리와 관련된 유효기간이 지난 메모리 참조(use-after-free) 문제다. Wiz는 PHP 작업 프로세스의 메모리가 노출될 수 있고, 입증된 조건에서는 메모리 손상과 코드 실행으로 이어질 수 있다고 설명했다.
6
- CVE-2026-109619는 치명적 오류의 백트레이스 처리와 OPcache에서 발생하는 메모리 처리 문제다. PHP의 보안 권고에 따르면 내부 상태가 오래 남아 같은 작업자가 처리하는 후속 요청에서 사용될 수 있다.
6
36
관련 보도에서 두 취약점의 심각도는 CVSS 기준 9.2로 평가됐다.
2
37 Wiz는 PHP가 인터넷의 약 70%에서 사용된다고 추산했지만, 이는 PHP의 사용 범위에 대한 추정치다. 웹사이트 70%가 모두 같은 방식으로 취약하거나 이미 침해됐다는 뜻은 아니다.
6
영향을 받는 버전과 수정판
보도에서는 취약한 범위를 PHP 5.4부터 8.5.11까지로 소개했다.
56 PHP가 공개한 수정 버전은 8.2.35, 8.3.36, 8.4.27, 8.5.12다.
36 오래됐거나 지원이 종료된 버전을 사용한다면 일반적인 PHP 업그레이드가 가능하다고 가정하지 말고, PHP 배포판이나 제품 공급업체에 지원되는 업데이트 또는 수정 사항이 반영된 패키지가 있는지 확인해야 한다.
17
54
웹사이트나 네트워크 장비가 별도의 PHP 런타임을 내장하고 있다면 PHP 패키지만 업데이트해서는 충분하지 않을 수 있다. 실제 웹 요청을 처리하는 PHP 설치본을 확인하고, PHP가 포함된 제품은 해당 공급업체의 업데이트 지침을 따라야 한다.
5
54
AI가 취약점 발견에 관여했지만, 경위에는 차이가 있다
취약점 연구는 Calif, OpenAI, Wiz의 공로로 소개됐으며, 발견 과정에 AI 모델의 도움이 있었다는 보도도 나왔다.
4
16 다만 연구가 시작된 시점에 대해서는 보도마다 차이가 있다. USA Today는 Calif가 7월에 처음 발견하고 Wiz가 8월에 별도로 찾아냈다고 전한 반면, The Register는 연구진이 8~9월 사이 취약점을 발견했다고 보도했다.
4
47 일부 보도는 Google 모델도 언급하지만, 제공된 자료만으로는 각 모델이 정확히 어떤 역할을 했는지, 작업이 어느 정도 자동으로 진행됐는지 확인하기 어렵다.
50
따라서 근거가 뒷받침하는 것은 AI를 보조 도구로 활용한 연구다. AI가 사람의 개입 없이 취약점을 모두 찾아 검증하고 수정했다는 뜻은 아니다. 보도된 발견과 대응 과정에는 연구자와 유지관리자도 참여했다.
4
16
PAN-OS 관련 공지는 어떻게 봐야 하나
Palo Alto Networks는 두 PHP 취약점이 자사 제품에 미치는 영향을 다루는 보안 공지를 냈으며, 공지에 PAN-OS 제품군도 포함돼 있다.
34
35 그렇다고 모든 PAN-OS 설치가 PHP 웹 서버와 똑같은 공격 경로에 노출된다는 의미는 아니다. 실제 영향 여부는 제품 구성과 공급업체의 수정 조치에 따라 달라진다.
관리자는 Palo Alto Networks의 최신 공지에서 사용 중인 제품과 소프트웨어 버전에 해당하는 상태를 확인하고, 안내된 업데이트 절차를 따라야 한다. 제3자가 운영하는 패치 일정표만으로 수정판이 나왔다고 단정해서는 안 된다. 유통 중인 상태 추적기 가운데는 정보가 AI 생성이며 직접 확인이 필요하다고 명시한 사례도 있다.
21
공격 시도가 보고됐지만, 시도와 침해는 다르다
위협 정보 보고에 따르면 공개 기술 정보와 PHP 수정판이 나온 10월 21일보다 앞선 10월 17일에 공격 시도가 기록됐다.
53 Nextgov는 Cloudflare에서 탐지한 시도가 수천 건에서 수백만 건으로 늘었다고 보도했다.
22 이 수치는 공격 시도에 관한 것으로, 서버 장악에 성공한 건수를 뜻하지 않는다.
실제 악용 성공 여부에 대한 보도는 엇갈렸다. BBC는 10월 22일 당시 성공적인 악용 사례가 보고되지 않았다고 전했다.
18 이후 Palo Alto Networks의 Unit 42는 처음 PHP2Shell과 연관됐다고 본 활동이 이 CVE 두 건에 의한 것인지 확인할 수 없다며 이전 업데이트를 철회했다.
30 현재 제공된 근거로는 공격 시도는 보고됐지만, PHP2Shell로 인한 성공적인 침해가 확인됐는지는 분명하지 않다.
정부와 기업이 패치를 준비하거나 적용하는 동안 일부 온라인 서비스를 일시 중단했다는 보도도 있다.
26
51 예방 차원의 서비스 중단은 해당 조직이 침해를 당했다는 증거가 아니다.
조직과 웹사이트 운영자가 할 일
- 모든 PHP 런타임을 찾아낸다. 웹사이트, 애플리케이션 서버, 컨테이너, 호스팅 환경, 네트워크 장비를 확인한다. 호스팅·관리형 서비스 업체에도 사용 중인 런타임과 적용할 수정 사항을 문의한다.
- 검증된 업데이트를 적용한다. 수정된 PHP 버전이나 해당 수정 사항이 포함된 공급업체 패키지를 사용한다. PHP가 내장된 장비와 애플리케이션은 제품 공급업체의 지침을 따른다.
17
36
54
- 실제 서비스의 버전을 확인한다. 명령줄에서 실행하는 PHP만 업데이트한 것은 아닌지 살핀다. 웹 요청을 처리하는 런타임이 수정됐는지, 필요한 작업 프로세스와 서비스가 수정된 버전으로 다시 실행되는지 확인한다.
- 즉시 패치할 수 없다면 노출을 줄인다. NSA는 공급업체 패치를 우선 적용하고, 곧바로 업데이트하기 어려운 경우 시스템을 오프라인으로 전환하라고 권고했다.
17 FBI와 CISA도 조직에 신속한 대응을 촉구한 미국 기관으로 보도됐다.
25
- 패치와 침해 조사는 별도로 진행한다. 업데이트는 취약점을 막는 조치이지, 과거 침입이 없었다는 확인은 아니다. 침해가 의심된다면 관련 로그와 시스템 활동을 점검한다.
웹사이트 소유자지만 서버를 직접 관리하지 않는다면 호스팅 업체나 관리자에게 PHP 런타임 업데이트 여부를 문의하자. 출처가 불분명한 메시지에 첨부된 수정 파일은 설치하지 말고, 공식 공급업체의 안내를 이용해야 한다.
핵심은 세 가지를 구분하는 것이다. 시스템이 취약한 상태인지, 공격 시도가 있었는지, 실제 침해가 발생했는지는 서로 다른 문제다. 영향을 받는 런타임을 업데이트하고, PAN-OS 같은 제품은 공급업체 공지에서 해당 버전의 조치를 확인하며, 침해가 의심될 때는 별도로 조사해야 한다.