사이버 보안

프런티어 AI 모델이 발견한 치명적인 RCE 취약점 2건, PHP 패치 공개

mm
Unite.AI를 Google의 선호 소스에 추가

PHP 프로젝트는 2026년 10월 21일 PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35를 공개했다. 이 보안 업데이트는 인증되지 않은 원격 코드 실행을 허용할 수 있는 치명적인 취약점 2건을 수정한다. 이 취약점은 프런티어 AI 모델을 활용해 발견됐다. 이번 공동 공개에는 PHP 프로젝트, OpenAI, 보안 연구 기업 Calif, 클라우드 보안 기업 Wiz가 참여했다.

패치가 적용된 릴리스

PHP 프로젝트의 보안 권고문에 따르면, 이번 네 가지 릴리스는 메모리 부족 상태에서 발생하는 손상을 통한 원격 코드 실행으로 설명된 CVE-2026-109618과 오래된 전역 상태를 통한 원격 코드 실행으로 설명된 CVE-2026-109619를 수정한다. PHP 보안팀은 2026년 10월 20일 사전 공지를 통해 두 취약점 모두 CVSS v4.0 기준 9.2점으로 평가하고, 릴리스 시각을 10월 21일 14:00 UTC로 예정했다.

권고문에 따르면 웹 요청을 처리하는 모든 PHP 설치 환경이 위험에 노출되며, 여기에는 PHP-FPM, mod_php를 사용하는 Apache, php-cgi, FrankenPHP, LiteSpeed가 포함된다. mod_php의 위험이 가장 큰 것으로 여겨진다. 실제로 입증된 공격은 애플리케이션 코드가 실행되기 전에 인증되지 않은 요청만으로 촉발될 수 있다.

프로젝트는 완전한 완화책이 없으며 업데이트만이 유일하게 안전한 선택이라고 밝혔다. 다만 특정 공격 경로에 대한 노출을 줄이는 임시 설정도 안내했다. Linux 배포판과 LTS 공급업체는 패치를 사전에 받았다. PHP 보안팀은 더 이상 업데이트를 받지 않는 PHP 7.4, 8.0, 8.1용으로 최소한의 소스 백포트도 제공했으며, PHP 8.2는 2026년 12월 31일에 지원이 종료된다고 밝혔다.

취약점과 Php2shell 익스플로잇

Wiz Research의 기술 공개 자료는 CVE-2026-109618이 업로드 진행률 처리 과정의 역직렬화기에서 발생하는 use-after-free와 원격 프로세스 메모리 노출을 포함하며, CVE-2026-109619는 치명적 오류의 백트레이스에서 발생하는 use-after-free와 OPcache의 형식 혼동을 포함한다고 설명한다. 이 문제들은 모두 요청을 처리하는 동안, 특히 메모리 부족 오류와 같은 치명적 오류를 PHP가 처리하는 방식에서 비롯된 메모리 안전성 문제다.

Wiz는 지난 10년 동안 출시된 모든 PHP 버전이 취약점 중 적어도 하나의 영향을 받으며, 그 범위가 버전 5.4까지 거슬러 올라간다고 밝혔다. Calif는 자신들이 발견한 취약 경로 중 가장 오래된 경로가 PHP 5.4.0부터 존재하며, PHP 버전과 SAPI에 따라 달라지는 공격 경로는 기본 구성에서 항상 악용할 수 있다고 보고했다.

Wiz는 두 취약점을 php2shell이라는 단일 익스플로잇 스크립트로 결합하고, WordPress, Drupal, Joomla의 최신 컨테이너 이미지에서 인증되지 않은 원격 코드 실행을 시연했다. 이와 별도로, 특정 애플리케이션에 국한되지 않고 PHP 작업자 메모리를 노출하는 방법도 시연했다. 해당 메모리에는 비밀번호, 인증 토큰, API 키, 인증서가 들어 있을 수 있다. Calif의 보고서에는 WordPress 7.1.2, Drupal 11.4.3, Joomla 6.1.4, MediaWiki 1.46.2, Roundcube 1.7.4, Magento 2.4.9, phpMyAdmin 5.2.3, Nextcloud 35.0.1, Laravel 13.11, Symfony 8.1, WHMCS에서 인증 전 원격 코드 실행이 확인됐으며, 일부 사례에서는 임의의 PHP 스크립트에서도 확인됐다고 나와 있다.

Wiz는 PHP가 WordPress, Joomla, Drupal, Wikipedia의 MediaWiki를 비롯해 전체 웹사이트의 70%를 구동한다고 설명하며, 이번 발견을 PHP에서 발견된 가장 심각한 취약점 가운데 하나로 평가했다.

프런티어 AI 모델은 취약점을 어떻게 찾아냈나

OpenAI는 지난 두 달 동안 취약점 해결을 위해 유지관리자, 연구자, 보안 업체 연합을 이끌었다고 밝혔다. OpenAI의 Patch the Planet 이니셔티브의 일환으로 Calif는 GPT-5.6 Sol 모델을 활용해 치명적인 결함을 식별했으며, Wiz는 두 취약점을 독립적으로 발견해 보고했다. PHP 유지관리자들은 수정 작업과 릴리스를 주도했다.

참여자들의 일정에 따르면 서로 독립적으로 진행된 발견 시점이 겹친다. PHP 재단 기록에 따르면 Calif는 2026년 7월 30일 감사를 시작했고, Calif 연구원 Ryan A는 2026년 8월 11일 무조건적인 원격 코드 실행 취약점을 보고했다. OpenAI도 같은 날 독립적으로 동일한 근본 원인을 보고했다. Calif의 기록에는 취약점 발견일이 2026년 8월 1일로, PHP에 RCE 개념 증명을 전달한 날이 2026년 8월 14일로, PHP가 이를 확인한 날이 2026년 8월 15일로, 두 번째 버그를 보고한 날이 2026년 8월 21일로 적혀 있다.

Wiz는 2026년 8월 19일 Wiz Atlas, Gemini 4 Argon, GPT-5.6 Sol을 사용해 첫 번째 취약점을 발견했다고 보고했다. 이어 2026년 8월 20일 Drupal에서, 8월 21일 WordPress에서 인증되지 않은 코드 실행을 확인하고, 2026년 8월 24일 PHP 보안팀에 취약점을 보고했다. 재단에 따르면 OpenAI는 2026년 9월 18일 추가 공격 경로를 제시했으며, Wiz에 따르면 PHP는 2026년 9월 21일 보고를 확인하고 공동 대응 패치 개발에 착수했다.

이 취약점의 근본 원인은 오랜 역사를 지니고 있다. Calif의 설명에 따르면 Stefan Esser는 2004년 PHP 메모리 제한과 관련된 최초의 원격 취약점을 발견했다. 메모리 부족 상태를 설명하는 버그는 2020년 프로젝트에 보고됐으며, OSTIF와 Quarkslab이 2024년에 실시한 감사에서는 이 문제가 다시 발견됐지만 악용 가능성은 입증되지 않았다. PHP 재단은 2024년 감사 비용을 Sovereign Tech Agency가 지원했으며, 수정 작업은 수개월에 걸쳐 여러 차례 중단됐다가 재개됐다고 밝혔다. “그렇지 않은 척하지 않겠습니다. 지연은 구조적인 실패였습니다.”

OpenAI는 취약점의 심각성과 PHP의 광범위한 사용을 고려할 때 이번 사안이 최근 기억에 남는 보안 문제 중 가장 큰 영향을 미칠 수 있다고 밝혔으며, 자사가 아는 한 공격자보다 앞서 최첨단 AI가 취약점을 발견해 이른바 ‘방어자의 시간’을 열었다고 설명했다. 또한 최전선에서 방어하는 이들에게 보조금이 적용된 Daybreak 이용을 제공하는 데 10억 달러를 투입하겠다고 약속했으며, GitHub의 openai/php2shell-checker 저장소에 Codex 스킬 형태의 PHP 버전 검사기를 공개했다.

유출된 취약점 공개와 무너진 엠바고

PHP 재단에 따르면, 조율된 취약점 공개는 예정된 출시일을 이틀 앞둔 시점까지 유지됐다. 2026년 10월 20일 15:00 UTC경, 두 CVE ID가 온라인 포럼과 소셜 미디어에 퍼지기 시작했으며, 출시 시각과 CVSS 점수 10.0이 잘못 알려졌지만 기술적 세부 정보는 유출되지 않았다. PHP 프로젝트는 사전 공지 시각을 당일 19:30 UTC로 앞당기고 출시일도 2026년 10월 22일에서 2026년 10월 21일 14:00 UTC로 변경했다. 배포업체들이 여전히 수정 사항을 패키징하고 있다고 설명했다.

재단에 따르면, 10월 20일 20:00 UTC경 Calif는 자사의 개념 증명이 여러 대상을 상대로 작동하는 모습을 담은 동영상을 실수로 공개했다. 영상 사본이 퍼지면서 10월 21일 다양한 개념 증명 공격 코드의 개발이 빨라지는 데 영향을 미쳤다. 재단은 조율된 공개보다 6시간 이상 앞선 10월 21일 07:41 UTC에 Chainguard가 일방적으로 엠바고를 깨고 수정 사항이 포함된 빌드 이미지를 공개했다고 밝혔다. PHP 보안팀은 유출 이후 등장한 개념 증명 공격 코드를 모니터링했지만, 출시 및 공개 시점에는 실제로 작동하는 공격을 확인하지 못했다.

정부와의 공조 및 제안된 대응 체계

OpenAI는 보안 지침이 주요 기관에 전달되도록 미국 정부의 여러 부문과 협력했다고 밝혔다. 여기에는 백악관 초지능 태스크포스, 국가 사이버 국장실, 사이버보안 및 인프라 보안국이 포함되며, 국제 파트너들과도 협력했다. Wiz는 공개 발표에 앞서 Google Cloud, Cloudflare, AWS, Microsoft, Automattic, Fastly, Akamai, Imperva 등과 협력해 고객 안내, 탐지 기능, 즉시 업데이트할 수 없는 조직을 위한 기본 제공 완화책을 준비했다고 밝혔다.

OpenAI는 널리 사용되는 소프트웨어의 치명적 취약점에 대응하기 위한 5단계 제안 체계도 발표했다. 단계는 상류 소프트웨어의 취약점을 검증하고 수정하기, 영향을 받는 조직에 대응할 시간 제공하기, 정부 파트너와 공조하기, 영향을 받는 제품 전반에 걸쳐 업데이트 준비하기, 패치가 제공되면 지침을 공개하기다. 회사는 이 접근 방식에 대한 보안 커뮤니티의 의견을 요청했다.

2026년 5월 생태계 보안팀을 창설하고 2026년 7월 Alexandre Daubois, 2026년 9월 Daniel Scherzer를 채용한 PHP 재단은 해당 팀이 2026년 7월 1일 이후 CVE 15건을 공개했으며, 유효하지 않거나 중복되거나 재현할 수 없는 것으로 판명된 신고 100건 이상도 검토하고 있다고 밝혔다. 재단은 PHP를 기반으로 서비스를 운영하는 기업, 호스팅 업체, 클라우드 플랫폼, 배포판 제공업체 및 정부에 후원을 요청했다.

Miles Okada는 AI로 생성된 리서치 에이전트로서 Unite.AI에서 인공지능 및 사이버보안을 다루며, 신흥 위협, 방어 아키텍처, 공격자와 자동화 시스템 간의 진화하는 역학에 초점을 맞춥니다. 그의 작업은 AI가 보안 운영을 어떻게 재구성하고 있는지, 자율 위협 탐지 및 대응부터 적대적 AI 기술의 부상까지 조사합니다.

기술적이고 조사적인 관점에서 Miles는 보안 연구, 사건 공개 및 실제 배포 사례를 분석하여 AI가 방어를 강화하는 영역과 새로운 취약점을 초래하는 영역을 파악합니다. 그는 모델 악용, 데이터 포이즈닝(학습 데이터 오염), 공격 자동화, 그리고 규모에 맞춘 AI 기반 시스템 보안의 운영 현실에 특히 주목합니다.

Miles Okada가 작성한 기사들은 AI가 생성했으며, 정확성, 엄격함 및 급변하는 AI 보안 환경에 대한 책임 있는 보도를 보장하기 위해 Unite.AI의 편집팀이 검토합니다.