웹사이트 70% 떠받치는 PHP에 AI가 찾은 '10년 묵은' 치명 결함…유출에 긴급 패치 앞당겨, 유럽 정부 사이트 줄줄이 내렸다
PHP 프로젝트가 21일(현지시간) 인증 없이 서버 코드를 실행할 수 있는 치명적 결함 2건(CVSS 9.2)을 고친 PHP 8.5.12·8.4.27·8.3.36·8.2.35를 긴급 배포했다. 보안업체 칼리프가 오픈AI GPT-5.6 Sol로, 위즈가 제미나이 4 아르곤 등으로 찾아낸 'PHP2Shell'로, 위즈는 PHP 5.4 이후 사실상 전 버전이 영향받는다고 밝혔다. 공개 이틀 전 정보가 새면서 배포가 하루 당겨졌고, 네덜란드·핀란드 등은 정부 사이트를 예방적으로 내렸다. 패치 직후 공격 시도도 관측돼 KISA도 업데이트를 권고했다.
전 세계 웹사이트 상당수를 떠받치는 프로그래밍 언어 PHP에서 10년 넘게 숨어 있던 치명적 결함 두 건이 프런티어 AI의 도움으로 드러났다. PHP 프로젝트는 21일(현지시간) 긴급 보안 업데이트를 내놨지만, 공개 이틀 전 취약점 정보가 온라인에 새면서 일정은 하루 앞당겨졌고, 그사이 네덜란드·핀란드 등 유럽 정부 기관은 웹사이트를 예방 차원에서 줄줄이 내렸다. 연구자들이 'PHP2Shell'이라고 부르는 이번 사태는 AI가 보안의 '방패'이자 '창'이 된 시대가 실제로 무엇을 뜻하는지 보여주는 첫 대형 사례가 됐다.
핵심 정리
- PHP 프로젝트가 21일(현지시간) PHP 8.5.12·8.4.27·8.3.36·8.2.35를 긴급 배포했다. 인증 없이 서버에서 코드를 실행할 수 있는 결함 2건(CVE-2026-109618, CVE-2026-109619, CVSS 9.2)을 고쳤다.
- 보안업체 칼리프(Calif)가 오픈AI의 'GPT-5.6 Sol'로, 위즈(Wiz)가 구글 '제미나이 4 아르곤' 등을 활용해 각각 찾아냈다. 위즈는 PHP 5.4 이후 사실상 모든 버전이 최소 한 건에 영향받는다고 밝혔다.
- 20일 취약점 번호가 유출되자 PHP는 배포를 하루 당겼다. 칼리프의 실수로 시연 영상까지 퍼졌고, 체인가드는 엠바고를 6시간 넘게 앞서 깼다.
- 네덜란드 국가사이버보안센터(NCSC)는 자기 사이트부터 내렸고, 핀란드 정부 공공 웹서비스도 일시 중단됐다. 한국인터넷진흥원(KISA)도 업데이트를 권고했다.
- 패치 직후부터 실제 공격 시도가 잇따라 관측됐다. "업데이트만이 유일하게 안전한 선택"이라는 게 PHP 측 입장이다.
무슨 일이 있었나
PHP 재단에 따르면 이번 결함은 PHP가 요청을 처리하다 메모리 한도(memory_limit)에 걸리거나 치명적 오류로 중단될 때 생긴다. CVE-2026-109618은 메모리 부족으로 작업이 끊기면서 반쯤만 초기화된 내부 데이터를 나중에 정상 데이터처럼 다루는 문제다. 아파치 mod_php 환경에서는 인증 없는 요청 하나로, 애플리케이션 코드가 돌기도 전에 공격이 시작될 수 있다. CVE-2026-109619는 오류 뒤에도 이전 요청의 메모리를 가리키는 상태가 남아, 같은 작업 프로세스가 다음 요청을 처리할 때 이미 해제된 메모리를 다시 쓰는 '해제 후 사용(UAF)' 결함이다.
재단은 두 결함이 "거의 모든 요청이 거치는 메모리 관리와 오류 처리"에 자리 잡고 있어 심각했고, 같은 이유로 호환성과 성능을 해치지 않고 고치기도 어려웠다고 설명했다. PHP-FPM, mod_php, php-cgi, 프랭컨PHP, 라이트스피드 등 웹 요청을 처리하는 모든 설치 환경이 위험 범위에 들어간다.
AI는 어떻게 찾았나
사실 문제의 뿌리는 오래전부터 알려져 있었다. 시큐리티위크에 따르면 칼리프는 메모리 부족 관련 결함이 2020년 처음 발견됐고 2024년 외부 감사에서 다시 확인됐지만, 실제 공격 가능성이 입증되지 않아 고쳐지지 않았다고 밝혔다. PHP 재단 역시 2024년 독일 주권기술청 지원으로 진행한 퀄크스랩 감사 도중 징후를 잡았으나, 수정안마다 부작용이 있어 결정이 몇 달씩 멈췄다며 이를 "구조적 실패"라고 인정했다.
판을 바꾼 건 AI였다. 오픈AI가 오픈소스 보안 지원 프로그램 '패치 더 플래닛(Patch the Planet)'으로 후원한 칼리프의 감사가 7월 30일 시작됐고, 8월 11일 칼리프 연구원과 오픈AI가 같은 날 각자 원격 코드 실행 경로를 보고했다. 위즈는 8월 19일 자체 플랫폼 '위즈 아틀라스'와 제미나이 4 아르곤, GPT-5.6 Sol로 별도 결함을 찾아 24일 보고했다. 위즈는 4개의 버그를 엮은 공격 스크립트로 최신 워드프레스·드루팔·줌라 컨테이너에서 로그인 없이 코드를 실행했고, 별도 경로로 PHP 프로세스 메모리에 든 비밀번호·인증 토큰·API 키까지 읽어낼 수 있음을 보였다. 위즈는 "프런티어 AI와 적절한 도구로, 연구자 한 명이 과거라면 세계적 수준의 팀이 몇 달 걸렸을 일을 일주일 만에 끝냈다"고 했다.
숫자로 본 PHP2Shell
- 영향 범위: 위즈와 클라우드플레어는 전체 웹사이트의 약 70%가 PHP를 쓴다고 추정했다. W3Techs 기준으로는 사용 언어를 식별할 수 있는 사이트의 약 75%, 워드프레스는 전체 사이트의 약 43%다.
- 노출 서버: 블리핑컴퓨터는 바이러스토탈 추정을 인용해 인터넷에 노출된 PHP 호스트가 510만 개를 넘는다고 전했다.
- 위험도: CVSS 9.2. 유출 당시에는 10.0이라는 잘못된 점수가 돌았다.
- 시간표: 원래 22일 14시(UTC) 배포 예정이었지만 21일 14시(한국시간 21일 밤 11시)로 앞당겨졌다.
- 선제 방어: 클라우드플레어는 21일 3시 2분(UTC), 공개 약 9시간 전부터 무료 요금제를 포함한 전 고객에게 방화벽(WAF) 규칙을 기본 적용했다.
- 보고 폭증: PHP 보안팀은 7월 이후 CVE 15건을 공개했고, 무효·중복·재현 불가로 판명된 보고만 100건이 넘었다.
무너진 엠바고, 멈춘 웹
조율된 공개는 예정일 이틀 전까지는 순조로웠다. 그러나 20일(현지시간) 해커뉴스 게시물과 온라인 포럼을 통해 취약점 번호가 퍼졌고, 보안업체 워치타워가 사실임을 확인했다. 이어 칼리프가 공격 시연 영상을 실수로 올렸다 지웠는데, 사본이 소셜미디어에 돌면서 PoC(개념증명 공격 코드) 개발이 빨라졌다. PHP 재단은 리눅스 배포판 등과 함께 사전에 패치를 받은 체인가드가 21일 7시 41분(UTC) 수정본이 담긴 이미지를 먼저 공개한 것을 두고 "몇 주간의 조율 작업을 무시했다"고 비판했다.
현장은 혼란스러웠다. 로이터를 인용한 CNBC 보도에 따르면 네덜란드에서는 국가사이버보안센터를 시작으로 로테르담항, 정부 포털, 주요 정당과 일부 병원 사이트가 닫혔다. 핀란드 정부 IT 기관 발토리는 공공 웹서비스를 내렸고, 프랑스 내무부도 지방정부 행정 사이트를 일시 중단했다. BBC는 위키미디어 재단이 일부 시스템을 내렸고, 미국 국가안보국(NSA)과 영국·EU 사이버 당국이 "즉시 고칠 수 없다면 오프라인 전환을 검토하라"고 권고했다고 전했다. 실제 공격도 시작됐다. 보안업체 하드리안은 패치 몇 시간 전 "대규모 악용"을 관측했다고 밝혔고, 워치타워는 패치 시점 전후로 시도를 탐지했지만 "아직 성공한 공격은 없다"고 했다. 반면 헌트리스는 21일 오후(미 동부시간)까지 자사 고객 시스템에서 실제 악용을 확인하지 못했다고 밝혀, 피해 규모는 아직 단정하기 어렵다.
엇갈리는 해석
오픈AI는 이번 사례를 "최근 기억 중 가장 영향력이 큰 보안 사안 중 하나"로 규정하며, 공격자보다 AI가 먼저 찾아 방어자에게 시간을 벌어준 '방어자의 창(Defender's Window)'이라고 강조했다. 회사는 보안 인력이 부족한 필수 서비스 기관에 10억 달러 규모의 보안 도구 '데이브레이크' 이용을 지원하겠다고 했고, 비슷한 발견이 앞으로 "급격히 늘어날 것"이라고 내다봤다.
반면 칼리프는 일반에 공개된 모델만 썼다며 "어떤 모델도 단순한 프롬프트로 '모든 버그'를 캐내지는 못한다, 적어도 아직은"이라고 선을 그었다. 모델 성능보다 PHP의 역사를 아는 사람의 판단이 더 중요했다는 얘기다. 위즈는 반대로 "복잡성이 더는 의미 있는 장벽이 아닐 수 있다"며 하트블리드(2014)와 로그포셸(2021)에 견줄 전환점이라고 봤다. 영국 킹스칼리지런던의 우카시 올레이니크 연구원은 "규모가 엄청나고, AI가 있으면 악용이 즉시, 대규모로 일어날 수 있다"고 경고했다. PHP 재단은 도구는 버그를 빨리 찾지만 엔진의 오래된 설계를 어떻게 고칠지는 숙련된 사람이 결정해야 한다며, PHP에 기대는 기업과 정부의 후원을 호소했다.
한국 기업·개발자에게 주는 의미
국내에서도 그누보드 같은 PHP 기반 게시판과 워드프레스로 만든 기업·기관 사이트, PHP를 기본 제공하는 웹호스팅이 널리 쓰여 파장이 작지 않다. KISA는 21일 8.2.35·8.3.36·8.4.27·8.5.12 미만 버전이 취약하다며 업데이트를 권고했고, 8.1 이하는 지원이 끝난 만큼 지원 버전으로 올리라고 강조했다. 워드프레스 보안 플러그인 워드펜스가 지적했듯 워드프레스 자동 업데이트로는 PHP가 바뀌지 않는다. 결함이 PHP 자체에 있어 플러그인이나 사이트 코드를 고쳐서는 소용없다는 뜻이다. 호스팅을 쓰는 소상공인이라면 업체에 패치 여부를 직접 확인해야 하고, 개발팀은 장비나 상용 솔루션 안에 숨은 PHP까지 목록을 만들어야 한다.
당장 업그레이드가 어렵다면 PHP 측이 제시한 임시 완화책(session.upload_progress.enabled 끄기, post_max_size 낮추기 등)이 있지만, PHP 핵심 개발자 지나 피터 배니어드는 어떤 완화책도 공격을 완전히 막지 못한다고 못 박았다. 헌트리스는 php-fpm이나 아파치 프로세스가 셸이나 curl·wget을 띄우는지 감시하라고 권했다. 이미 침입당했을 가능성도 따져봐야 한다는 얘기다.
전망
이번 사태는 AI 보안 경쟁의 두 얼굴을 한꺼번에 드러냈다. 10년 넘게 묻혀 있던 결함을 AI가 몇 주 만에 공격 가능한 형태로 바꿔놨고, 같은 능력은 공격자도 곧 손에 넣는다. 오픈AI는 취약점 공개 기간과, 관리 권한을 잃은 시스템을 정부가 대신 패치해도 되는지까지 업계 의견을 구하고 나섰다. 결함을 찾는 속도는 AI가 끌어올렸지만, 고치고 배포하는 일은 여전히 소수의 자원봉사자와 재단 개발자 몫이다. 'AI가 찾은 버그'가 쏟아지는 시대에 그 간극을 누가, 어떻게 메울지가 다음 과제로 떠올랐다.
— SSOK.AI 그록기자
참고 자료
- PHP 재단 — Today's PHP Security Release, and How We're Strengthening PHP Security
- 오픈AI — Patch the Planet: global response coordination as agents uncover critical vulnerabilities
- 위즈 — PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet
- 클라우드플레어 — Cloudflare deploys protections against php2shell vulnerability
- 헌트리스 — Rapid Response: php2shell, Leaked Critical PHP Vulnerabilities
- 시큐리티위크 — PHP2Shell Patches Land as First Exploitation Attempts Hit Sensors
- 블리핑컴퓨터 — PHP ships emergency patches for critical PHP2Shell flaws
- CNBC(로이터) — Government websites in Europe and elsewhere go dark as software flaw sparks security scramble
- BBC — Websites taken down worldwide as critical cyber-security update issued
- 더넥스트웹 — PHP rushes out emergency patches for two critical bugs AI found first
- 연합뉴스 — "PHP 치명적 결함 발견"…KISA, 보안 업데이트 권고
出典: PHP 재단 외 종합



