
PHP로 돌아가는 웹 서버라면 지금 즉시 PHP 서버를 패치해야 합니다! 2026년 10월 21일 PHP가 긴급 패치한 PHP2Shell은 PHP 런타임 자체의 취약점 두 건으로, 인증 없이 요청 한 번만으로 서버에서 원격 코드가 실행될 수 있습니다. 워드프레스, 그누보드, 라라벨 등 어떤 애플리케이션을 쓰든 PHP 버전이 패치 전이면 영향을 받습니다.
외부에서 우리 서버의 PHP 버전이 어떻게 보이는지는 JC-Lab 무료 자가진단에 도메인이나 IP 하나만 넣어 1분 안에 확인할 수 있습니다.
한눈에 보기
항목내용
| 이름 | PHP2Shell |
| CVE | CVE-2026-109618 (메모리 부족 처리 중 손상) · CVE-2026-109619 (해제된 메모리의 상태 재사용) |
| 심각도 | CVSS v4 9.2 (PHP 보안팀 평가) |
| 공격 조건 | 인증 불필요, 사용자 상호작용 불필요 |
| 영향 범위 | 웹 요청을 처리하는 PHP 5.4 이상 거의 모든 설치 (PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, LiteSpeed) |
| 패치 버전 | PHP 8.5.12 · 8.4.27 · 8.3.36 · 8.2.35 (2026년 10월 21일) |
| 8.1 이하 | 공식 지원 종료로 정식 패치 릴리스 없음 → 지원 버전으로 업그레이드 |
무슨 일이 있었나
취약점은 8월에 발견돼 PHP 보안팀에 비공개로 제보됐지만, 패치 하루 전 세부 내용이 유출됐습니다. 패치가 나오기도 전에 공격 시도가 관측됐다는 보고가 나왔습니다.
일시 (UTC)사건
| 2026-08-01 | 보안업체 Calif 연구원이 취약점 최초 발견 |
| 2026-08-11 | PHP 보안팀에 첫 번째 버그 제보 |
| 2026-10-20 | PHP가 다음 날 긴급 패치 예고, 같은 날 기술 세부 내용이 온라인에 유출 |
| 2026-10-21 03:02 | Cloudflare, WAF 기본 방어 규칙 배포 |
| 2026-10-21 07:43 | Cloudflare, 실제 공격 트래픽 최초 탐지 |
| 2026-10-21 14:00 | PHP 8.5.12 · 8.4.27 · 8.3.36 · 8.2.35 긴급 패치 배포 |
| 2026-10-21 | 미국 CISA 긴급 패치 권고 (게시 시점 기준 실제 악용은 미확인) |
실제 악용 여부는 기관마다 다르게 보고했습니다. Cloudflare와 watchTowr는 10월 21일 공격 시도를 관측했고, CISA는 같은 날 기준 악용을 확인하지 못했다고 밝혔습니다.
왜 위험한가
일반적인 웹 취약점은 특정 플러그인이나 잘못 짠 코드에서 생깁니다. PHP2Shell은 그 아래, PHP가 요청을 받아 처리하는 엔진 자체에 있습니다.

- 앱 코드가 실행되기 전에 터집니다. 공개된 공격 코드는 파일 업로드에 쓰는 일반적인 양식 제출(multipart/form-data) 요청 하나로 출발합니다. 로그인 화면이나 보안 플러그인이 동작하기 전입니다.
- 애플리케이션을 가리지 않습니다. Sansec은 Magento, WordPress, Drupal, Joomla, phpMyAdmin, Nextcloud, Laravel 등 11개 PHP 애플리케이션에서 인증 없는 원격 코드 실행을 확인했다고 밝혔습니다.
- 기본 설정에서도 영향을 받습니다. 특별한 옵션을 켜야 생기는 문제가 아닙니다.
- 메모리 유출도 가능합니다. Sansec은 첫 번째 취약점으로 서버 메모리에 남은 비밀번호, 세션 토큰, API 키가 새어 나갈 수 있다고 경고했습니다.
이번 취약점은 AI가 보안 연구의 속도를 바꾼 사례이기도 합니다. 발견 과정에 최신 AI 모델이 쓰였고, Help Net Security가 전한 연구진 설명에 따르면, 최신 AI 모델이 "오래된 결함을 실제 공격 코드로 바꾸는 장벽을 크게 낮췄다"고 합니다. 방어하는 쪽이 패치할 수 있는 시간이 그만큼 짧아졌다는 뜻입니다.
우리 서버도 해당될까
PHP 버전이 아래 패치 버전보다 낮으면 영향을 받습니다. 서버에 접속할 수 있다면 php -v로 바로 확인할 수 있습니다.
사용 중인 버전패치 버전조치
| PHP 8.5.x | 8.5.12 | 업데이트 |
| PHP 8.4.x | 8.4.27 | 업데이트 |
| PHP 8.3.x | 8.3.36 | 업데이트 |
| PHP 8.2.x | 8.2.35 | 업데이트 |
| PHP 8.1 이하 (7.x, 5.x 포함) | 정식 릴리스 없음 | 지원 버전으로 업그레이드, 당장 어렵다면 배포판 보안 패치 확인 |
확인할 때 주의할 점이 있습니다.
- 리눅스 배포판 패키지는 버전 번호만으로 판단하면 안 됩니다. Ubuntu, Debian, RHEL 계열은 버전 번호를 그대로 두고 보안 패치만 적용(백포트)하는 경우가 많습니다. 배포판 보안 공지에서 CVE-2026-109618·109619 반영 여부를 확인하세요.
- 서버가 여러 대면 모두 확인하세요. 운영 서버뿐 아니라 오래된 관리 페이지, 테스트 서버, 협력사가 만든 홍보 사이트처럼 잊혀진 PHP 서버가 가장 위험합니다.
- 호스팅·클라우드 서비스도 해당됩니다. 직접 관리하지 않는 웹호스팅이라면 업체에 패치 일정을 문의하세요.
지금 해야 할 일
완전한 해결책은 패치뿐입니다. 미국 CISA는 즉시 패치할 수 없다면 PHP 서비스를 오프라인으로 돌리라고까지 권고했습니다.
- PHP가 도는 서버를 모두 찾습니다. 운영·개발·관리용 서버와 호스팅 서비스까지 목록을 만듭니다.
- 인터넷에 열린 서버부터 패치합니다. 8.5.12 · 8.4.27 · 8.3.36 · 8.2.35 이상으로 올리고, PHP-FPM·웹서버를 재시작해 새 버전이 실제로 올라왔는지 확인합니다.
- 당장 패치가 어렵다면 위험을 줄입니다. WAF 보호 규칙을 켜고, 필요 없는 파일 업로드를 막거나 요청 본문 크기를 제한합니다. php.ini의 session.upload_progress.enabled = 0처럼 분석 기관들이 제시한 임시 설정도 있지만, 모두 패치 전까지의 보조 수단입니다.
- 이미 당했는지 흔적을 확인합니다. 패치 전에 공격이 들어왔을 수 있습니다.
- PHP 에러 로그의 Allowed memory size of ... exhausted ... in Unknown on line 0
- 웹서버·PHP-FPM 로그의 세그먼테이션 오류(Segmentation fault)
- PHP 워커 프로세스 아래에서 실행된 쉘(sh, bash) 프로세스
- 웹 디렉터리에 새로 생긴 낯선 PHP 파일(웹쉘)
- 지원이 끝난 버전은 교체 계획을 세웁니다. 8.1 이하는 이번 같은 긴급 패치를 정식으로 받을 수 없습니다.
침해 흔적이 보인다면 패치만으로는 끝나지 않습니다. 서버 메모리에 있던 비밀번호·API 키가 유출됐을 수 있으니 자격증명을 바꾸고 전문가 점검을 받으세요.
무료 자가진단으로 1분 점검
공격자는 서버가 스스로 드러내는 버전 정보로 패치하지 않은 서버를 골라냅니다. JC-Lab 무료 자가진단은 그 화면을 먼저 보여 드립니다.

- 도메인이나 공인 IP를 하나 입력합니다.
- 외부에 드러난 서브도메인, 열린 포트, 서버 소프트웨어와 버전을 확인합니다.
- 결과에 PHP가 보이면, 그 버전을 위 패치 버전과 비교합니다. 다른 소프트웨어의 알려진 취약점도 함께 표시됩니다.
가입이나 설치 없이 브라우저에서 바로 쓸 수 있고, 공개된 정보와 무해한 요청만 사용합니다. 공격성 요청은 보내지 않습니다.
자가진단으로 알 수 없는 것도 있습니다. 버전을 숨긴 서버는 PHP 버전이 보이지 않을 수 있고, 배포판 백포트 패치는 버전 번호로 드러나지 않습니다. 실제로 공격이 통하는지는 소유권이 확인된 자산에 대한 AI 모의해킹으로 확인해야 합니다.
자주 묻는 질문
워드프레스 플러그인만 최신으로 유지하면 괜찮지 않나요?
아닙니다. PHP2Shell은 워드프레스가 아니라 그 아래의 PHP 엔진 취약점이라, 플러그인이 최신이어도 PHP가 패치 전이면 영향을 받습니다.
방화벽이나 WAF가 있으면 안전한가요?
일부만 막습니다. Cloudflare는 방어 규칙을 배포하면서도 공격자들이 규칙을 피하려 공격 코드를 변형하는 것을 관측했다며, 패치를 함께 하라고 권고했습니다.
PHP 7.4나 8.1을 쓰고 있는데 어떻게 하나요?
공식 지원이 끝난 버전이라 이번 패치가 정식 릴리스로 나오지 않았습니다. 8.2 이상으로 올리는 것이 원칙이고, 당장 어렵다면 사용 중인 배포판이나 호스팅 업체가 보안 패치를 제공하는지 확인하세요.
우리 회사는 작은데 노릴 가능성이 있나요?
있습니다. 공개 직후 인터넷 전체를 대상으로 자동 스캔과 공격이 시작되기 때문에, 회사 규모와 관계없이 패치하지 않은 PHP 서버가 대상이 됩니다.
자가진단에서 PHP가 안 보이면 안전한 건가요?
아닙니다. 버전을 숨기도록 설정한 서버는 밖에서 PHP가 보이지 않을 수 있습니다. 서버에서 php -v로 직접 확인하세요.
출처
- CISA — Critical Vulnerabilities in PHP Require Immediate Patching (2026-10-21)
- Help Net Security — PHP2Shell: Critical PHP vulnerabilities patched, update now! (2026-10-21)
- Cloudflare — Cloudflare deploys protections against php2shell vulnerability
- Sansec — PHP2Shell: Critical PHP RCE
- Datadog Security Labs — PHP2Shell: detection, analysis, and remediation
- Imperva — PHP2Shell: When PHP Runs Out of Memory at the Wrong Moment
- watchTowr — PHP RCE FAQ: CVE-2026-109618 & CVE-2026-109619
- SecurityWeek — PHP2Shell: Mass Exploitation Looms for Leaked Critical PHP Flaws
- Wikipedia — PHP2Shell
'기타' 카테고리의 다른 글
| ‘ARTEX’로 본 2026년 금융권 연쇄 해킹, 그리고 AI 해킹의 현재 (0) | 2026.10.16 |
|---|
