Amazon이 PHP 프로그래밍 언어의 취약점 두 건이 "현재 야생에서 광범위하게 악용되고 있다"고 경고했다. Amazon은 수요일에 취약점이 일반에 공개되기 나흘 전 해커의 악용 시도 1건을 확인했다고 밝혔다.
미국 국가안보국(NSA)은 PHP를 쓰는 모든 조직에 즉시 업데이트하거나 시스템을 내리라고 권고했다. PHP 관리 개발자들은 같은 날 앞서 보안 패치를 내놓았다. Financial Times는 OpenAI와 Google 모델의 도움으로 10년 넘게 발견되지 않던 취약점이 드러났다고 보도했다.1
악용 규모와 피해
Cloudflare의 매슈 프린스 CEO는 공개 전 10시간 동안 자사 네트워크에서 이 취약점을 노린 시도가 수천 건 있었다고 말했다. 공개 뒤 2시간 동안은 "수십만 건(hundreds of thousands)" 수준으로 늘었고, 전날 밤까지는 "수백만 건(millions)"에 이르렀다고 한다.2
Wiz는 PHP가 전 세계 웹사이트의 약 70%를 구동하는 것으로 추정했다. The Verge는 일부 집계에 따르면 최대 70%의 웹사이트가 PHP를 어떤 식으로든 쓴다고 전했다. Wikipedia, WordPress, Drupal 같은 사이트와 플랫폼이 PHP로 움직이고, DeviantArt와 4Chan은 취약점 공개 뒤 한때 문을 닫았다. WordPress가 주로 PHP로 만들어져 PHP에 의존하기 때문에 쓰임새가 넓다.1,2
영국 국가사이버보안센터(NCSC)는 이 취약점으로 해커가 비밀번호 같은 로그인 정보 없이 웹사이트 서버를 장악할 수 있다고 경고하고, 영국 조직에 즉시 조치하라고 촉구했다. NSA는 이 취약점이 서버 파일 시스템이나 데이터베이스로 가는 직접 경로가 되는 경우가 많다며, 즉시 업데이트가 어렵다면 완전히 조치할 때까지 시스템을 오프라인으로 돌리라고 권고했다.
일부 유럽 정부는 패치하는 동안 사이트를 내린 것으로 전해졌다. 백악관은 연방 기관이 정부 시스템과 핵심 기반시설에 미칠 영향을 평가하고 있다고 밝혔다.1
취약점은 약 20년 전 버전까지 PHP의 모든 버전에 있다. 지원이 끝난 버전이 많아 관리되지 않는 오래된 사이트와 서비스는 업데이트할 길이 막혀 영구 폐쇄 위험에 놓였다. 일본의 오래된 모바일 게임 World Quest와 Save My Demonic World는 개발자들이 업데이트할 수 없다며 서비스를 종료한다. Internet Archive도 한때 오프라인이 됐으나 운영팀이 신속히 패치해 복구했다.2
발견 경위와 OpenAI의 대응
OpenAI에 따르면 보안 업체 Calif의 연구원이 OpenAI의 GPT-5.6 Sol로 치명적 결함 1건을 찾았다. 이는 OpenAI의 Patch the Planet 계획의 일환이었다. Wiz는 독립적으로 두 취약점을 모두 발견해 보고했다. Wiz는 Alphabet 소유다.
OpenAI는 두 달 동안 관리자, 연구자, 보안 업체로 이뤄진 연합을 이끌었다고 밝혔다. 수정과 배포는 PHP 관리자들이 맡았고, OpenAI와 Wiz, Cloudflare 등은 연구와 기술 지원, 조율을 거들어 공개 전에 방어책을 준비했다. OpenAI는 PHP, Calif, Wiz와 함께 취약점을 검증하고 패치를 개발했다고 설명했다.1,3
OpenAI는 미국 정부 쪽으로 백악관 Super Intelligence Force, 국가사이버국장실(ONCD), 사이버보안·인프라보안국(CISA)과 해외 파트너에 접촉했다고 밝혔다.3
OpenAI는 이번 취약점을 "최근 기억에서 가장 영향이 큰 보안 문제 중 하나"로 평가하고, 자신들이 아는 한 최첨단 AI가 공격자보다 먼저 이를 찾았다고 밝혔다. 같은 능력이 공격자의 도구 개발을 앞당길 수도 있다고도 덧붙였다. Google 소속 보안팀 Wiz의 공동 창업자 아미 루트왁은 월스트리트저널에 지금까지 발견된 가장 심각한 AI 취약점이라고 말했다.1,2
점검 도구와 대응 체계
OpenAI는 PHP 버전이 취약한지 확인하는 도구 php2shell-checker를 GitHub에 공개했다. Codex에 스킬 설치를 요청하면 서버 접근 권한이 있을 때는 phpcheck-server, URL만 있을 때는 phpcheck-url을 쓸 수 있다. 터미널에서는 node phpcheck.js로 웹사이트나 로컬 PHP를 직접 점검한다.4
| 결과 | 종료 코드 | 의미 |
|---|---|---|
| OK | 0 | 나열된 주 버전 계열에서 내장 기준 버전보다 높은 안정 패치 버전 |
| VULNERABLE | 1 | 해당 계열의 내장 기준 버전 이하 |
| UNKNOWN | 3 | PHP 버전이나 응답이 없거나, 인식하지 못한 버전, 더 새로운 프리릴리스 |
--json 옵션을 쓰면 기계가 읽는 결과를 받고, 잘못된 인자는 종료 코드 2를 낸다. 이 도구는 HTTP 응답 헤더나 php -v가 알려 주는 버전만 본다. X-Powered-By와 Server 헤더를 읽고 HEAD 요청을 보내며, HEAD가 405나 501을 돌려줄 때만 GET으로 바꾼다. 리디렉션을 따라가거나 응답 본문을 살피지 않는다.
OK는 각 계열의 이후 안정 패치에 수정이 들어 있다는 가정에 따른 버전 비교이며, 보안 수정 여부를 직접 검증하지 않는다. 헤더는 숨기거나 바꿀 수 있고, 배포판의 백포트는 상위 버전 번호를 바꾸지 않을 수 있다. 저장소는 UNKNOWN이 패치됐다는 뜻이 아니라고 경고하며, 공식 PHP 보안 릴리스와 버전을 대조하라고 안내한다. OpenAI는 외부 코드 기여를 받지 않고 버그 보고와 비코드 의견만 받는다.4
OpenAI는 중요 취약점에 대응하는 프레임워크를 제안했고, 이 틀에서 대응에는 다섯 단계가 포함될 수 있다고 설명했다. 패치가 나오면 노출 여부를 확인하고 공식 업데이트나 임시 완화책을 찾고 수정이 적용됐는지 점검할 안내문을 공개하는 단계도 포함한다. 실제 악용, 유출, 패치 내용 노출, 수정 정체로 인한 사용자 위험 증가가 생기면 일정을 재평가한다고 한다. Patch the Planet 사이트는 PHP의 공식 패치·업그레이드 안내와 파트너 연구를 모아 두었고, 임시 완화책의 한계와 운영상 득실도 밝히겠다고 했다.
OpenAI는 방어자 지원으로 Daybreak for Frontline Defenders를 통해 10억 달러 규모의 Daybreak 접근을 보조하겠다고 밝혔다. 대상은 필수 서비스를 지키면서 보안 자원이 부족한 조직이다. Codex for OSS를 통해 모든 관리자에게 구독을 제공하고 Rust Foundation 같은 프로젝트를 직접 후원하며, 오픈소스 프로젝트는 Patch the Planet에 지원 신청을 할 수 있다.
OpenAI는 Daybreak에 오용을 막는 차단 분류기를 추가로 조정 중이라고 밝혔다. 악용 방지 장치가 정당한 보안 작업까지 막을 수 있어 균형이 어렵다고 설명했다. 이미 찾아 수정 중인 중대한 취약점이 이번 건 말고도 여럿 있으며, 유사한 발견이 앞으로 몇 달 사이 급격히 늘 것으로 예상한다고도 했다.3
Financial Times는 올해 Anthropic과 OpenAI가 강력한 사이버 능력을 갖춘 새 모델을 내놓자 정치권과 금융 규제 당국이 경고했고, 미국 정부가 두 회사 모델의 롤아웃을 일시 제한했다고 전했다.1