PHP 코어 엔진에 10년 넘게 숨어 있던 메모리 결함이 프런티어 모델의 도움을 받아 실제 작동하는 원격 공격 체인으로 바뀌었다. 2026년 10월 21일 Wiz Research는 PHP2Shell로 통칭되는 이 취약점 그룹을 공개했고, PHP 팀도 같은 날 수정 패치를 내놨다. 취약점은 CVE-2026-109618과 CVE-2026-109619 두 건으로 묶였고 최고 심각도는 9.2에 달한다. 최근 10년간의 PHP 릴리스는 거의 모두 최소 하나에 해당하며, 5.4까지 거슬러 올라간다.
잘못은 웹사이트 코드가 아니라 언어 자체에 있다
PHP는 전 세계 웹사이트의 약 70%를 지탱하며 WordPress, Drupal, Joomla, 위키백과의 MediaWiki가 그 위에서 돈다. 문제는 PHP가 치명적 오류, 특히 메모리 부족 오류를 처리하는 방식에 있다. 비정상 종료된 요청이 오염된 내부 상태를 남기고, 이후 요청이 그 상태를 재사용하면 프로세스 메모리를 읽거나 임의 코드 실행까지 나아갈 수 있다. Wiz는 최신 이미지의 WordPress, Drupal, Joomla에서 인증 없는 원격 코드 실행을 시연했고, 코드 실행 없이 서버 프로세스 메모리를 읽는 방식도 보였다. 그 메모리에는 다른 요청의 비밀번호, 토큰, 인증서가 들어 있을 수 있다. 즉 사이트 코드가 완벽해도 아래층 PHP에 패치가 없으면 위험은 그대로 남는다.
AI가 낮춘 것은 발견 속도가 아니라 악용 문턱
취약한 코드는 10년 넘게 존재했다. 대규모로 악용되지 않은 이유 중 하나는 메모리 버그를 안정적인 공격 체인으로 엮는 작업이 극히 번거롭고 버전과 메모리 배치마다 적응이 필요했기 때문이다. Wiz에 따르면 연구 과정에서는 자체 도구와 함께 Gemini 4 Argon, GPT-5.6 Sol 등 프런티어 모델을 발견, 익스플로잇 개발, 탐지, 패치 검증에 활용했고, OpenAI의 Patch the Planet 계획도 공개 전 발견과 조율에 참여했다. 과거 정상급 팀이 몇 달 걸리던 일을 연구자 한 명이 약 일주일 만에 끝낸 점이 진짜 경고다. 오래된 취약점의 위험도를 이제는 악용이 얼마나 어려운지만으로 판단할 수 없다. 모델이 그 비용을 끌어내리고 있기 때문이다.
사이트 운영자에게 가장 중요한 일은 하나
공식 수정 버전으로 PHP를 업그레이드하는 것이 유일한 완전한 해결책이며, 늦출수록 공개된 세부 내용이 범용 도구로 재구현될 확률이 높아진다. 당장 업그레이드가 어려운 환경은 클라우드와 호스팅 업체가 공개 전에 준비한 완화책으로 버티면서, 비정상적으로 큰 업로드 요청, 잇따르는 메모리 한도 오류와 500 응답, PHP 워커의 잦은 재시작 같은 신호를 살피고 업그레이드 일정을 최대한 빨리 잡아야 한다. 10년 넘게 아무도 건드리지 않은 부품이 안전하다는 보장은 없다. 이번에는 PHP였지만, 다음에는 웹 전체가 공유하는 어떤 기반에서든 일어날 수 있다.