PHP 취약점 PHP2Shell이란? 영향과 지금 해야 할 일
PHP2Shell은 PHP 개발팀이 2026년 10월 21일에 수정 버전을 내놓은 두 가지 심각한 보안 취약점, CVE-2026-109618과 CVE-2026-109619를 부르는 이름입니다. PHP는 아주 많은 웹사이트가 사용하는 프로그래밍 언어입니다. 한국인터넷진흥원(KISA)은 10월 22일 보안공지에서 이 취약점이 로그인 없이 외부에서 서버에 원하는 명령을 실행할 수 있는 치명적 취약점이라고 설명했습니다. 이 글은 2026년 10월 23일 기준 정보입니다.
간단한 답변
PHP2Shell은 많은 웹사이트를 움직이는 PHP의 심각한 취약점 두 가지입니다. 수정 버전은 PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35이며 2026년 10월 21일에 나왔습니다. 웹사이트를 운영한다면 PHP 버전을 확인하고 업데이트하세요. NAS나 공유기가 있다면 제조사 안내를 확인하세요. 사이트를 보기만 하는 사람이 고칠 문제는 아닙니다.
PHP2Shell은 어떤 취약점인가요?
취약점은 공격에 쓰일 수 있는 소프트웨어의 약점을 말합니다. PHP2Shell은 PHP 자체에서 발견된 서로 다른 두 가지 약점이 함께 발표된 것입니다.
PHP 개발팀의 보안 권고문은 둘 다 원격 코드 실행 취약점이라고 설명합니다. 외부의 누군가가 서버에 자기 명령을 실행하게 만들 수 있다는 뜻입니다. 미국 사이버보안·인프라보안국(CISA)은 이 취약점들이 "php2shell"로 알려져 있으며, 공격자가 로그인하지 않아도 이런 실행이 가능하다고 밝혔습니다. 심각도를 나타내는 CVSS 4.0 점수는 둘 다 9.2입니다.
KISA는 두 취약점을 다음과 같이 분류했습니다.
- CVE-2026-109618: 예외 상황을 제대로 처리하지 못하는 취약점(Improper Handling of Exceptional Conditions)입니다.
- CVE-2026-109619: 해제된 메모리를 다시 사용하는 취약점(Use After Free)입니다.
PHP는 웹페이지를 보내 주는 서버 쪽에서 동작하며, 여러분의 휴대전화나 노트북에서 동작하는 것이 아닙니다. PHP 권고문은 웹 요청을 처리하는 모든 PHP 설치가 영향을 받는다고 하며 PHP-FPM, Apache의 mod_php, php-cgi, FrankenPHP, LiteSpeed를 예로 듭니다. 그중 mod_php의 위험이 가장 높고, 실제로 동작하는 공격 방법이 확인되었다고 밝혔습니다.
어떤 버전에서 고쳐졌나요?
PHP 개발팀은 2026년 10월 21일에 다음 네 가지 수정 버전을 공개했습니다.
| 사용 중인 버전 | 수정 버전 |
|---|---|
| 8.5 계열 | 8.5.12 |
| 8.4 계열 | 8.4.27 |
| 8.3 계열 | 8.3.36 |
| 8.2 계열 | 8.2.35 |
릴리스 공지에는 "There are no complete mitigations, updating is the only safe choice."라고 적혀 있습니다. 완전한 완화책은 없고 업데이트만이 안전한 선택이라는 뜻입니다.
PHP 8.1 이하 버전은 더 이상 PHP 개발팀의 업데이트를 받지 못합니다. 권고문은 일부 리눅스 배포판과 장기 지원(LTS) 업체가 수정 사항을 따로 반영해 제공한다며, 해당 업체에 문의하거나 지원 중인 버전으로 옮기라고 안내합니다. 취약점이 심각한 만큼 PHP 보안팀은 7.4, 8.0, 8.1용 최소한의 소스 패치도 공개했는데, 이는 PHP를 직접 빌드하는 사람을 위한 것입니다.
일반 사용자 중 누가 영향을 받나요?
대부분의 사람은 PHP를 직접 다룰 일이 없습니다. 개인에게 관련이 생기는 경우는 크게 세 가지입니다.
웹사이트를 운영하거나 관리하는 경우. 워드프레스 등으로 만든 블로그, 작은 온라인 쇼핑몰, 동호회 사이트는 PHP로 동작하는 경우가 많습니다. KISA는 호스팅 업체가 PHP를 관리한다면 그 업체에 조치 여부를 확인하고 요청하라고 안내합니다. 먼저 PHP 버전 확인 방법을 보고, 이어서 워드프레스 PHP 업데이트 방법으로 넘어가세요. 이미 이상한 점이 보인다면 홈페이지가 해킹되었을 때 대처법을 읽어 보세요.
NAS, 공유기처럼 브라우저로 여는 관리 화면이 있는 기기를 가진 경우. CISA는 PHP가 다른 소프트웨어의 구성 요소로 들어가 있는 경우가 많아 겉으로 잘 드러나지 않는다고 설명합니다. KISA도 PHP가 내장된 장비와 솔루션, 도커 같은 컨테이너 이미지를 따로 확인하라고 권고했습니다. 시놀로지와 큐냅 제품은 NAS와 PHP2Shell에 정리했습니다. 내 컴퓨터가 궁금하다면 맥과 PHP2Shell을 보세요.
사이트를 이용하거나 온라인으로 쇼핑하는 경우. 취약점은 서버에 있으므로 고치는 일은 사이트 운영자의 몫입니다. 자주 나오는 질문은 해킹된 사이트에 접속만 해도 감염되는지와 내 개인정보는 괜찮은지에서 다룹니다.
실제로 악용되고 있나요?
2026년 10월 23일 기준으로 공식 기관들의 발표는 다음과 같습니다.
- CISA는 10월 21일 경보(10월 23일 개정)에서 발표 시점 기준으로 이 취약점들이 실제 환경에서 성공적으로 악용된 것을 관찰하지 못했다고 밝혔습니다.
- EU 기관을 위한 사이버보안 조직 CERT-EU는 초기 개념 증명 코드(PoC)가 돌기 시작했으며, 이 때문에 공격자가 이미 악용하고 있을 가능성이 커졌다고 밝혔습니다.
- 큐냅은 10월 22일 권고문에서 PHP를 노린 악용 시도가 공개적으로 보고되었다고 썼습니다.
- KISA는 10월 22일 보안공지에서 보안 업데이트 배포 전에 취약점 정보가 유출되었고, 해외 보안업체를 중심으로 공격 시도가 보고되고 있다고 밝혔습니다.
공격 시도란 누군가가 서버에 공격을 보내 통하는지 시험해 보는 것을 말합니다. 시도가 보고되었다고 해서 특정 사이트가 뚫렸다거나 여러분의 정보가 빠져나갔다는 뜻은 아닙니다. PHP 개발팀의 입장은 업데이트만이 안전한 선택이라는 것입니다.
지금 무엇을 하면 되나요?
어떤 경우에 해당하는지에 따라 다릅니다.
웹사이트를 운영한다면:
- 사이트가 쓰는 PHP 버전을 확인합니다. 방법은 PHP 버전 확인 방법에 있습니다.
- 수정 버전으로 업데이트하거나, 호스팅 업체에 이미 업데이트했는지 물어봅니다. KISA는 인터넷에 공개된 서버부터 먼저 조치하고, 기존 시스템과의 호환성 문제로 장애가 생길 수 있으니 미리 영향을 검토하고 테스트한 뒤 적용하라고 권고합니다.
- 바로 업데이트할 수 없다면 KISA는 PHP 개발팀의 임시 설정 같은 임시 조치를 적용하고, 그것도 어렵다면 업데이트 전까지 외부 접속 차단이나 서비스 일시 중단을 검토하라고 권고합니다. CISA도 바로 업데이트할 수 없는 시스템은 오프라인으로 전환하라고 안내합니다.
- KISA는 업데이트한 뒤 적어도 10월 20일 이후의 서버 기록(로그)을 점검하라고 권고합니다. 10월 20일은 KISA가 취약점 정보가 유출된 날로 적은 날짜입니다.
NAS나 공유기 같은 기기가 있다면 제조사의 보안 권고에서 내 모델을 확인하고, 업데이트가 있으면 설치하세요.
사이트를 이용하기만 한다면 PHP2Shell 때문에 따로 설치할 것은 없습니다. 일반적인 보안 습관은 그대로 유효합니다. 영국 국가사이버보안센터(NCSC)는 이메일에 강하고 다른 곳과 겹치지 않는 비밀번호를 쓰고 2단계 인증을 켜라고 권합니다. 또 범죄자들은 뉴스에 오른 대형 유출 사고를 이용한다고 경고하므로, 로그인이나 링크 클릭을 요구하는 메시지는 조심하세요.
세 번째 PHP 취약점도 있나요?
관련은 있지만 훨씬 작은 문제가 하나 있습니다. PHP 개발팀은 10월 23일에 CVE-2026-115560에 관한 정보성 권고를 냈습니다. 설정과 애플리케이션 코드가 흔치 않은 조합일 때만 생기는 문제이고, 실제로는 일어나기 어렵다고 밝혔습니다. 다음 정기 버그 수정 릴리스까지 session.upload_progress.enabled를 0으로 설정하라고 권합니다. 이 설정은 10월 21일 CVE-2026-109619 권고에 이미 완화책으로 실려 있었으므로, 그때 적용했다면 그대로 두면 되고 추가 조치는 필요 없다고 밝혔습니다. PHP 개발팀은 이 문제를 정기 릴리스 일정에 맞춰 처리하겠다고 했습니다.
자주 묻는 질문
PHP2Shell은 바이러스인가요?
아닙니다. 많은 웹서버가 쓰는 소프트웨어인 PHP의 취약점 두 가지를 부르는 이름입니다. 해결책은 PHP 업데이트이며, 서버 관리자나 호스팅 업체가 설치합니다. 내 휴대전화나 컴퓨터를 검사해서 찾아내는 것이 아닙니다.
내 컴퓨터의 PHP도 업데이트해야 하나요?
대부분은 필요 없습니다. PHP 권고문은 웹 요청을 처리하는 PHP가 영향을 받는다고 설명합니다. 웹사이트를 만들려고 PHP를 직접 설치했다면 업데이트하세요. 자세한 내용은 맥과 PHP2Shell에 있습니다.
CVSS 9.2는 무슨 뜻인가요?
CVSS는 보안 취약점의 심각도를 점수로 나타내는 체계입니다. PHP 개발팀은 두 취약점 모두 CVSS 4.0 기준 9.2점으로 평가하고 치명적(critical)으로 분류했습니다. CERT-EU, NCSC, CISA도 심각한 취약점으로 다루고 있습니다.
호스팅을 쓰고 있는데 PHP 업데이트는 제가 해야 하나요?
먼저 호스팅 업체에 수정된 PHP를 설치했는지 물어보세요. KISA도 호스팅 업체가 PHP를 관리하는 경우 업체에 조치 여부를 확인하고 요청하라고 안내합니다. 내 사이트가 어떤 PHP 버전을 쓰도록 설정되어 있는지도 함께 확인하세요. 보는 곳은 PHP 버전 확인 방법에 있습니다.
PHP 8.1 이하를 쓰면 어떻게 되나요?
PHP 8.1 이하에는 PHP 개발팀의 공식 수정 버전이 나오지 않습니다. KISA는 지원되는 버전으로 전환하라고 권고하고, PHP 8.2도 2026년 12월 31일에 보안 지원이 끝날 예정이므로 8.3 이상으로 옮기는 것을 권장합니다.
출처
- Security advisory: Critical remote code execution vulnerabilities, update now, PHP (2026년 10월 21일)
- Informational advisory: Session upload progress, PHP (2026년 10월 23일)
- PHP 제품 보안 업데이트 권고, KISA 보호나라&KrCERT/CC
- PHP 보안취약점(PHP2Shell) 관련 기업 보안 대응 수칙, KISA 보호나라&KrCERT/CC
- Critical vulnerabilities in PHP require immediate patching, CISA
- Security Advisory 2026-018, Critical Vulnerabilities in PHP, CERT-EU
- Critical security issue affecting PHP, NCSC
- Top tips for staying secure online, NCSC
- Data breaches: guidance for individuals and families, NCSC
- Vulnerabilities in PHP (PHP2Shell) affecting multiple QNAP products, QSA-26-18, QNAP