웹사이트 서버 언어 PHP에서 인증 없이 외부에서 코드를 실행할 수 있는 결함 2건이 발견돼 21일(현지시간) 긴급 패치가 나왔다. PHP는 전 세계 웹사이트의 최대 70%가 쓰는 언어지만, 공식 수정 버전이 PHP 8.2 이상에만 제공돼 웹사이트의 3분의 1 이상이 아직 패치를 받지 못한 상태다.
두 결함은 CVE-2026-109618과 CVE-2026-109619로, 묶어서 'PHP2Shell'로 불린다. 공격자는 로그인 없이 웹 서버에서 코드를 실행하고, 사용자 브라우저에 비정상 출력을 내보낼 수 있다. 웹사이트 자체 코드가 실행되기 전에도 공격이 가능하다. PHP는 브라우저가 아니라 서버에서 돌아가며, 그 결과물인 HTML 등을 브라우저에 보내는 백엔드 언어다.
수정 버전은 8.5.12, 8.4.27, 8.3.36, 8.2.35다. 7.4부터 8.1까지의 구버전에는 이후 백포트 패치(최신 수정을 구버전에 옮겨 적용하는 방식)가 배포되기 시작했다.
PHP를 쓰는 사이트 가운데 27%는 PHP 7을, 7.7%는 PHP 5를 쓰고 있어 아직 패치를 받지 못했다. 한 추산에서는 80만 곳이 넘는 인터넷 호스트가 아예 수정 계획이 없는 낡은 분기를 돌리고 있다. 이 호스트들이 서비스하는 웹사이트는 수백만 개에 이른다.
PHP 개발진은 21일 인증 없이 원격 코드 실행이 가능한 결함 2건에 대한 긴급 패치를 내놨고, 호스팅 이용자는 업체에 업데이트 여부를 확인해야 한다. 가상자산 거래소와 지갑, 관련 정보 사이트도 웹 서비스를 운영하는 만큼 서버 환경 점검 대상이다.
취약점은 오픈AI(OpenAI)가 자금을 댄 8월 보안 감사에서 나왔다. 보안 업체 Calif 소속 연구원이 오픈AI의 GPT-5.6 Sol 모델을 사용해 찾아냈다. Calif는 첨단 AI 모델과 전문가의 사람 검토를 결합하는 오픈AI의 'Patch the Planet' 프로그램 파트너다.
Calif의 Thai Duong CEO는 월스트리트저널에 이 유형의 결함이 수십 년 전 이미 거론됐지만 악용이 너무 어렵다는 이유로 넘어갔다고 말했다. 이제는 AI가 수십 건의 요청만으로 서버 메모리를 장악하는 방법을 찾아냈다.
구글 클라우드 계열 보안 업체 위즈(Wiz)는 독립적으로 결함을 확인했다. 위즈 공동창업자는 PHP2Shell을 "지금까지 발견된 AI 취약점 가운데 가장 심각한 것"이라고 평가했고, 사람이 찾아내기는 어려웠을 것이라고 덧붙였다.
피해 우려는 곧바로 현실의 조치로 이어졌다. 핀란드 국가 IT 센터는 예방 차원에서 일부 정부 웹 서비스를 닫았다. 네덜란드에서는 지방정부 의회 정보 사이트를 운영하는 NotuBiz의 사이트가 오프라인이 됐고, 이후 MijnOverheid와 네덜란드 의회 사이트도 차단됐다. 프랑스는 패치가 나올 때까지 도청 웹사이트를 일시 중단했다고 프랑스 정부 부처가 밝혔다.
클라우드플레어($NET)의 CTO Dane Knecht는 무료 요금제를 포함한 모든 고객에게 실제 공격 경로가 열려 있다고 밝혔다. 클라우드플레어는 밤사이 임시 긴급 조치를 적용한 뒤 몇 시간 뒤 추가 패치를 공지했다. 웹호스팅 업체 고대디(GoDaddy)는 고객에게 업그레이드를 촉구했다.
블록템포는 오픈AI가 방어 측 지원에 10억달러(약 1조3260억원)를 투입한다고 보도했다.
PHP 서버 운영자는 사용 중인 분기에 맞는 수정 버전으로 올리거나 배포판의 수정 패키지를 설치해야 한다. 8.1 이하를 쓰는 곳은 지원 분기로 옮기거나, 배포판·장기 지원 업체에 구버전용 패치가 있는지 확인해야 한다.
기사요약 by TokenPost.ai🔎 시장 해석 PHP2Shell은 가상자산 가격이 아니라 웹 서비스 보안에 걸린 문제다. 거래소·지갑·정보 사이트가 PHP 서버를 쓰는 경우 점검 대상에 들어간다. 개별 서비스에 미칠 영향은 각 운영사의 서버 환경에 따라 달라진다.
💡 전략 포인트 서비스 운영자는 서버의 PHP 버전을 확인하고 수정 버전으로 올려야 한다. 이용자는 이용 중인 서비스가 공지한 보안 조치를 확인하면 된다.
📘 용어정리 원격 코드 실행: 공격자가 멀리서 대상 서버에 명령을 내려 코드를 실행하는 취약점이다. 백포트: 최신 버전의 보안 수정을 구버전에 옮겨 적용하는 방식이다. CVE: 공개된 보안 취약점에 붙는 국제 식별번호다.
<Copyright ⓒ TokenPost, unauthorized reproduction and redistribution prohibited>
Most Popular