내 사이트의 PHP2Shell 취약 여부, 안전하게 점검하는 방법
PHP 개발팀의 2026년 10월 21일 권고문은 PHP2Shell을 고친 버전으로 8.5.12, 8.4.27, 8.3.36, 8.2.35를 들고 있습니다. 이 목록이 곧 점검 기준입니다. 사이트의 PHP 버전이 해당 계열의 수정 버전 이상이면, 권고문이 요구하는 업데이트는 적용된 것입니다. 이 글은 2026년 10월 23일 기준 정보입니다.
간단한 답변
사이트의 PHP 버전을 수정 버전과 비교하고, 호스팅 업체나 쓰고 있는 소프트웨어 제조사의 공지를 읽고, PHP가 들어간 제품은 깃허브의 NCSC-NL 목록에서 찾아보세요. KISA는 취약 여부를 PoC 실행 대신 버전 확인과 기록 점검으로 판단하라고 권고합니다. 점검은 내 사이트나 허락받은 사이트에만 하세요.
공식 기관은 무엇을 확인하라고 하나요?
이 글에서 인용한 공식 권고 가운데 개인 사용자에게 스캐너를 돌리라고 하는 곳은 없습니다. PHP 권고문은 웹 요청을 처리하는 모든 PHP 설치가 영향을 받으며 업데이트만이 완전한 해결책이라고 말합니다. 한국인터넷진흥원(KISA)은 10월 22일 보안공지에서 인터넷에 공개된 모든 홈페이지와 시스템의 PHP 사용 여부와 버전을 확인하라고 하며, 자산 목록에만 의존하지 말고 실제로 동작 중인 서버를 기준으로 확인하라고 권고합니다. 미국 CISA도 어떤 버전이든 PHP를 실행하는 시스템을 모두 찾아 목록을 만들고 수정 릴리스로 패치하라고 안내합니다.
블로그나 작은 쇼핑몰, 동호회 사이트를 운영한다면 결국 두 가지를 확인하면 됩니다. 사이트가 쓰는 버전, 그리고 내가 쓰는 소프트웨어나 호스팅을 제공하는 회사의 공지입니다.
PHP 버전은 어떻게 확인하나요?
"PHP 8" 정도가 아니라 8.3.36처럼 사이트가 쓰는 정확한 번호가 필요합니다. 워드프레스와 호스팅 관리 화면에서 보는 곳, 직접 볼 수 없을 때 호스팅 업체에 물어볼 내용은 PHP 버전 확인 방법에 있습니다.
KISA는 두 가지를 주의하라고 덧붙입니다. 명령어(php -v)로 확인되는 버전과 웹 서비스가 실제로 쓰는 버전이 다를 수 있으므로, 한 서버에 PHP가 여러 개 있다면 각각 확인하라고 합니다. 또 리눅스 배포판이나 제조사가 제공하는 패키지는 보안 패치를 적용해도 버전 번호가 바뀌지 않을 수 있으니, 패키지 변경 이력에서 CVE 반영 여부를 확인하라고 안내합니다.
호스팅 업체와 다른 업체의 공지는요?
서버를 운영하는 곳은 호스팅 업체이므로, 업체의 공지가 가장 분명한 답일 때가 많습니다. 10월 21일 PHP 권고에 관한 이메일, 상태 페이지, 고객지원 글을 찾아보고, 내 사이트가 쓰는 계열의 수정 버전이 적혀 있는지 확인하세요. 아무 공지가 없다면 직접 물어보세요. KISA도 호스팅 업체나 장비·솔루션 제조사가 PHP를 관리한다면 해당 업체에 조치 적용 여부를 확인하고 요청하라고 안내합니다.
PHP는 다른 제품 안에 들어가 있기도 합니다. CISA는 PHP가 다른 소프트웨어의 구성 요소인 경우가 많아 얼마나 퍼져 있는지 바로 드러나지 않을 수 있다고 설명합니다. KISA는 네트워크 장비 관리 화면 같은 PHP 내장 장비와 솔루션, 외부에서 받아 쓰는 도커 같은 컨테이너 이미지도 따로 확인하라고 권고합니다. 브라우저로 여는 관리 화면이 있는 NAS나 공유기를 쓴다면 제조사의 보안 권고를 보세요. 시놀로지와 큐냅의 발표는 시놀로지와 큐냅 NAS의 PHP2Shell 대응에 정리했습니다.
깃허브의 NCSC-NL 목록은 무엇인가요?
네덜란드 국가사이버보안센터(NCSC-NL)는 github.com/NCSC-NL/php2shell에 공개 저장소를 운영합니다. KISA도 10월 22일 보안공지에서 PHP 내장 장비와 솔루션을 확인하라는 항목의 참고 자료로 이 저장소를 들었습니다.
저장소는 스스로를 CVE-2026-109618과 CVE-2026-109619에 관한 운영 정보라고 소개합니다. 세 부분으로 되어 있는데, 이 취약점들의 영향을 받을 수 있는 PHP 의존 소프트웨어 제품 목록, 탐지와 완화 자료, 저장소 파일을 만드는 도구입니다. 최신 업데이트 표에는 날짜, 공급업체, 제품, 버전, 두 취약점에 대한 상태, 링크가 나옵니다. 상태에는 Fix(수정됨), Vulnerable(취약), Investigation(조사 중) 등이 있습니다. README는 상황에 따라 계속 업데이트되고 있다고 적고 있습니다.
쓰는 방법은 공급업체와 제품 이름으로 내가 쓰는 제품을 찾고, 링크를 따라 그 업체의 보안 권고에서 자세한 내용을 확인하는 것입니다. README는 이 목록이 완전하다고 말하지 않으므로, 제품이 목록에 없다고 해서 영향이 없다는 뜻은 아닙니다.
온라인 PHP 취약점 스캐너로 안전한지 알 수 있나요?
어느 정도는 알 수 있지만 한계가 있습니다. 영국 국가사이버보안센터(NCSC)의 취약점 스캐닝 지침에 따르면, 인프라 스캐너는 '핑거프린팅'이나 '배너 그래빙'으로 시스템 정보를 모아 알려진 취약 제품과 비교하는 방식으로 동작합니다. 지침은 자동 스캔이 침투 테스트 같은 수작업을 대신할 수 없고, 네트워크 스캐너는 깊이보다 넓이를 목표로 하며, 없는 취약점을 있다고 하는 오탐과 실제 취약점을 놓치는 미탐이 생길 수 있다고 설명합니다.
PHP2Shell에 대해 스캐너는 PHP 개발팀의 권고에 들어 있지 않고, 권고문의 해결책은 업데이트입니다. KISA는 인터넷에 도는 PoC(개념 증명 코드) 중에는 악성코드가 숨겨진 가짜가 많다며, 출처가 불분명한 PoC를 실행하지 말고 취약 여부는 버전 확인과 기록 점검으로 판단하라고 권고합니다. 분석이 꼭 필요하다면 업무망과 분리된 환경에서만 하라고 합니다. 어떤 스캔 결과가 나오든 알아야 할 것은 서버의 정확한 PHP 버전과 그것이 수정 릴리스인지입니다. 스캐너와 호스팅 업체의 말이 다르면 업체에 버전을 서면으로 확인해 달라고 하세요.
웹사이트를 PHP2Shell로 점검해도 법적으로 괜찮나요?
내 사이트이거나 분명히 허락을 받은 사이트만 점검하고, 다른 사람의 사이트에 공격 코드를 실행하는 일은 절대 하지 마세요. 정보통신망법(정보통신망 이용촉진 및 정보보호 등에 관한 법률) 제48조제1항은 "누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다."라고 정하고 있습니다. 같은 법 제71조제1항은 제48조제1항을 위반하여 정보통신망에 침입한 자를 5년 이하의 징역 또는 5천만원 이하의 벌금에 처한다고 하고, 같은 조 제2항은 그 미수범도 처벌한다고 정합니다.
어떤 점검이 이 조항에 해당하는지는 이 글에서 판단하지 않습니다. 사이트가 호스팅 업체의 서버에 있다면, 버전 확인을 넘어서는 작업은 먼저 업체에 물어보세요.
자주 묻는 질문
공식 PHP2Shell 스캐너가 있나요?
아래 출처에 나온 공식 페이지 중 개인 사용자용 스캐너를 제공하는 곳은 없습니다. NCSC-NL 저장소에는 탐지와 완화 자료가 있지만 README는 스캐너를 설명하지 않습니다. PHP 권고문의 답은 8.5.12, 8.4.27, 8.3.36, 8.2.35로 업데이트하는 것입니다.
PHP2Shell은 실제로 악용되었나요?
2026년 10월 23일 기준으로, CISA는 10월 21일 경보(10월 23일 개정)에서 발표 시점 기준으로 이 취약점들이 실제 환경에서 성공적으로 악용된 것을 관찰하지 못했다고 밝혔습니다. CERT-EU는 초기 개념 증명 코드(PoC)가 돌기 시작했다고 했고, 큐냅의 권고문은 PHP를 노린 악용 시도가 공개적으로 보고되었다고 썼습니다. KISA는 10월 22일 보안공지에서 보안 업데이트 배포 전에 취약점 정보가 유출되었고, 해외 보안업체를 중심으로 공격 시도가 보고되고 있다고 밝혔습니다.
스캔 결과 내 사이트가 취약하다고 나옵니다. 어떻게 하나요?
PHP 버전을 수정 버전 목록과 비교하고 호스팅 업체에 확인을 요청하세요. 수정되지 않았다면 업데이트하거나 업체에 요청합니다. 사이트 자체에 이상한 점이 보인다면 홈페이지가 해킹되었을 때 대처법에서 처음 한 시간 동안 할 일을 보세요.
호스팅 업체는 패치했다는데 스캐너는 아니라고 합니다. 누구 말이 맞나요?
NCSC의 스캐닝 지침에 따르면 스캐너는 오탐을 낼 수 있고, 권고문의 해결 여부는 서버의 PHP 버전에 달려 있습니다. KISA도 패키지는 패치 후에도 버전 번호가 그대로일 수 있다고 안내합니다. 업체에 사이트가 쓰는 정확한 버전과 패치 반영 여부를 물어 직접 비교하세요.
방화벽으로 PHP2Shell을 막을 수 있나요?
CISA는 시스템을 업데이트하거나 패치할 때까지 웹 방화벽이 어느 정도 보호를 제공할 수 있다고 말합니다. KISA는 웹 방화벽을 쓴다면 최신 차단 규칙이 적용되었는지 확인하라고 하면서도, 임시 조치는 공격을 완전히 막지 못하므로 업데이트하라고 권고합니다. 해결책은 여전히 업데이트입니다.
출처
- Security advisory: Critical remote code execution vulnerabilities, update now, PHP (2026년 10월 21일)
- PHP 보안취약점(PHP2Shell) 관련 기업 보안 대응 수칙, KISA 보호나라&KrCERT/CC
- Critical vulnerabilities in PHP require immediate patching, CISA
- NCSC-NL/php2shell, NCSC-NL 깃허브
- Vulnerability scanning tools and services, NCSC
- Security Advisory 2026-018, Critical Vulnerabilities in PHP, CERT-EU
- Vulnerabilities in PHP (PHP2Shell) affecting multiple QNAP products, QSA-26-18, QNAP
- 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조, 국가법령정보센터
- 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제71조, 국가법령정보센터