최근 수정 시각 : 2026-10-22 05:57:52

PHP2Shell



주의. 사건·사고 관련 내용을 설명합니다.

사건 사고 관련 서술 규정을 유의하시기 바랍니다.


1. 개요2. 경과3. CVE4. 영향을 받은 서비스5. 여담

1. 개요

2026년 10월에 발견된 PHP의 원격 코드 실행 취약점. 취약점 식별 번호는 CVE-2026-109618[1], CVE-2026-109619[2]이다. 심각도 등급은 CVSS 4.0 기준 10점 만점에 9.2점이다. Java의 Log4shell 당시의 10/10보다는 낮지만 9점대 또한 즉시 패치를 진행해야 하는 등급이다.

2. 경과

2026년 10월부터 간간이 PHP를 사용하는 사이트들이 해킹으로 긴급 점검에 들어가는 사태가 보고되던 와중, 한국 시간 기준 10월 21일 PHP 개발진이 취약점 2개가 발견되었으며 같은 날 UTC 기준 14시, 한국 시간 오후 11시에 보안 업데이트를 배포할 것을 발표하였다.[3]

PHP 공식 발표 전에 해커 뉴스 포럼에서 해당 취약점에 대한 정보가 공개될 것이라는 유출 정보가 게시되었으며, 상술한 2개의 취약점 식별 번호도 게시되었다.[4]

문제는 이 상황을 화이트 해커들이 알아내고 사이트들에게 알리고 대응과 패치를 위해 14시간 후에 발표하기로 했으나 한 해커가 이를 어기고 2026년 10월 21일 오전에 해당 정보를 뿌리는 대형 사고를 쳤다. 이에 수많은 사이트들이 긴급하게 서버를 내리는 대 혼란이 벌어지게 되었다. 이에 해커들은 해당 해커를 영구히 블랙리스트에 오를거라며 가열찬 비난을 하는 중이다. #

이에 따라 유럽연합 컴퓨터긴급대응팀(CERT-EU), 호주 사이버보안센터(ACSC), 일본 국가사이버통괄실과 도쿄 경시청 등 세계 각국의 보안팀이 PHP를 사용하는 사이트들에 업데이트를 촉구하였다.[5]

한국인터넷진흥원(KISA)에서는 22일이 되기 직전에나 대응했다.[6] 한국에서는 Java의 비중이 높다고는 하지만 디시인사이드, 더쿠 등 민간에 트래픽이 높은 PHP로 제작된 사이트가 다수 존재하며 정부 사이트 중에서도 PHP를 사용하는 사이트가 일부 존재하는데, 일찌감치 공개 시간까지 고지되었으나 상당히 늦게 대응하였다.

Cloudflare의 CTO인 Dane Knecht는 21일 오후 4시에 임시조치로 해당 취약점과 관련한 WAF 설정을 무료 플랜을 포함한 모든 이용자에게 이용가능하도록 조치를 취했으며[7], 또한 해당 취약점으로 이미 초기단계의 공격을 감지했다고 밝혔다.[8]

한국 시간 기준 2026년 10월 21일 23시, 해당 취약점의 상세 정보와 취약점을 패치한 버전이 공개되었다.[9] 8.1버전 이하는 지원 기간이 종료되어 수정 버전이 공개되지 않았으나, PHP 보안팀이 PHP 7.4, PHP 8.0 및 PHP 8.1에 대한 최소한의 소스 백포트를 제공했다고 밝혔다.[10]

웹호스팅을 제공하는 카페24와 가비아는 패치 공개 이후 30~60분이 지난 뒤 관련 대응을 위한 보안 패치 작업을 시작하였다.

3. CVE

  • CVE-2026-109618 - PHP 런타임은 메모리 초과 상황에서 longjmp()를 사용해 예외를 빠져나온다. 문제는 할당한 컨텍스트가 완전히 초기화 되기 전에 빠져나오게 되면 메모리에는 초기화되지 않은 메모리가 그대로 남게 되어 RCE를 발생시킬 수 있다.
  • CVE-2026-109619 - 예외 처리로 longjmp()를 예외 처리를 하지만 전역 포인터 변수의 내용을 해제한 메모리 주소로 남겨두게 되므로 (Use-After-Free/Dangling Pointer) RCE를 발생시킬 수 있다.

로 두 CVE모두 예외 처리에서 메모리를 건든 후 이를 제대로 정리하지 않은 예외가 처리된다는 공통점이 있다.

4. 영향을 받은 서비스

보안 업데이트가 실행될 때까지 본 취약점으로 인한 불법 접근이나 개인 정보 유출 등을 막기 위해 아래의 서비스들이 긴급 점검에 돌입하였다. 기본적으로 미디어위키 등 PHP를 이용하는 모든 사이트는 본 취약점의 영향을 받았다고 볼 수 있다.

5. 여담

  • 같은 날 Node.js도 RCE 취약점 등에 대한 보안 릴리스를 발표했다.#
  • 이 문제로 네덜란드 국가사이버안보센터(Nationaal Cyber Security Centrum)도 홈페이지 접속을 제한했는데, 교도통신에서 네덜란드 사이버 당국, 네트워크 접속 차단@이라고 기사 제목을 짓는 바람에 네덜란드 전국의 인터넷이 차단된 것으로 오인되기도 했다.

[1] GHSA-w8hw-w9fx-j79w[2] GHSA-6wmf-4rv5-p3rp[3] Upcoming Critical PHP Security Release (PHP.net)[4] Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming (Hacker News)[5] 전 세계 웹사이트 보안 비상…"PHP서 치명적 취약점 2건 발견" (뉴스1)[6] PHP 제품 보안 업데이트 권고 (KISA 보호나라)[7] Cloudflare deploys protections against php2shell vulnerability (Cloudflare)[8] Dane Knecht (X)[9] 8.2.35, 8.3.36, 8.4.27, 8.5.12[10] Security advisory: Critical remote code execution vulnerabilities, update now (PHP.net)[11] 접속 불가인 점검은 서비스 기간 8년 중 처음이란 말도 있다. #[12] 일본판과 국제판, 타이틀 소개 페이지와 유저 정보 페이지 모두 해당[13] 마이마이 일본판/국제판, 츄니즘 일본판/국제판, 온게키 일본판[14] 게임에 따라 더 일찍 시작한 경우도 있다. 이니셜D 아케이드[15] maimai 일본판/태고의 달인[16] 원래 21일 23시부터 였으나 점검을 1시간 당겼다.