결론부터 말씀드리면, 홈페이지가 워드프레스·그누보드처럼 PHP로 돌아간다면 오늘 안에 PHP 버전부터 확인하고, 8.5.12·8.4.27·8.3.36·8.2.35보다 낮으면 업데이트한 뒤 서비스를 재시작해야 합니다. 10월 20일 정보가 먼저 새어 나간 PHP2Shell은 로그인 없이 외부에서 서버에 명령을 실행할 수 있는 결함이고, AI 모델의 도움으로 찾아낸 10년 넘은 버그입니다. 이 글에서는 원문 발표를 바탕으로 무엇이 문제인지, 개발을 몰라도 할 수 있는 PHP 버전 확인 방법, 한국인터넷진흥원(KISA) 권고로 정리한 홈페이지 보안 점검 순서를 차례로 적습니다.
PHP2Shell이 뭐길래 다들 서두를까
PHP는 웹사이트 뒤에서 화면을 만들어 내는 프로그래밍 언어입니다. W3Techs 집계로는 서버 언어가 알려진 웹사이트의 69.2%가 PHP를 씁니다. PHP 개발팀은 10월 21일 공지에서 두 결함(CVE-2026-109618, CVE-2026-109619)을 고친 8.5.12, 8.4.27, 8.3.36, 8.2.35를 내놓았습니다. PHP 개발팀은 10월 20일에 배포 일정을 미리 알렸고, 예정대로 21일에 업데이트를 냈습니다. KISA는 업데이트가 나오기 전에 취약점 정보가 외부로 새어 나갔다고 설명했습니다.
이번 일이 AI 업계에서도 화제인 이유는 발견 과정 때문입니다. 결함을 분석한 보안 회사 위즈(Wiz)는 분석 글에서 자사 도구와 함께 제미나이 4 아르곤, GPT-5.6 솔을 썼고, "연구자 한 명이 일주일 만에, 예전 같으면 정상급 팀이 몇 달 걸렸을 일을 해냈다"고 적었습니다. 문제 코드는 2012년 PHP 5.4 때부터 있었다고 합니다. 찾는 쪽이 빨라진 만큼 고치는 쪽도 빨라야 한다는 뜻입니다.
우리 홈페이지도 해당될까 — PHP 버전 확인 방법
먼저 내 홈페이지가 어떻게 만들어졌는지부터 나눠 보시면 됩니다. 워드프레스, 그누보드, 제로보드 계열 게시판처럼 웹호스팅을 빌려 직접 설치한 사이트라면 PHP를 쓰고 있을 가능성이 높습니다. 반대로 쇼핑몰 플랫폼이나 블로그 서비스처럼 서버를 회사가 관리하는 곳에 올린 경우라면 서버 업데이트는 대개 그 회사 몫이니, 공지사항에 PHP2Shell 대응 안내가 있는지 확인하시면 됩니다.
직접 설치한 사이트의 PHP 버전 확인 방법은 세 가지가 가장 쉽습니다. 첫째, 웹호스팅 관리 화면에서 PHP 버전 항목을 봅니다. 둘째, 워드프레스라면 관리자 화면의 '도구 → 사이트 건강' 정보에서 서버 항목을 엽니다. 셋째, 둘 다 어렵다면 호스팅 고객센터나 제작을 맡긴 업체에 "PHP 버전과 PHP2Shell 패치 여부"를 그대로 물어보시면 됩니다. 버전 확인용 파일을 서버에 올려 두는 방법도 있지만, 확인이 끝나면 꼭 지워야 합니다.
KISA 권고로 정리한 홈페이지 보안 점검 5단계
KISA는 10월 22일 기업 대응 수칙을 냈습니다. 작은 회사가 바로 따라 할 수 있게 순서대로 줄이면 아래와 같습니다.
- 목록 만들기 — 지금 쓰는 사이트뿐 아니라 예전 이벤트 페이지, 시험용 사이트까지 PHP가 돌아가는 곳을 적습니다.
- 업데이트 — 인터넷에 열린 서버부터 위 네 버전 이상으로 올립니다. PHP 8.1 이하는 공식 보안 업데이트가 없어 상위 버전으로 옮겨야 하고, 8.2도 12월 31일에 보안 지원이 끝납니다.
- 재시작 — 업데이트 뒤 웹서비스를 다시 시작해야 메모리에 남은 옛 버전이 내려갑니다.
- 기록 보기 — 10월 20일 이후 비정상적으로 큰 요청, 잦은 500 오류, 이유 없는 PHP 멈춤이 있었는지 봅니다.
- 비밀번호 바꾸기 — 그동안 열려 있던 서버라면 데이터베이스·관리자 비밀번호와 API 키를 바꿉니다.
바로 업데이트할 수 없다면 방화벽에서 요청 크기를 제한하거나 파일 업로드를 막는 임시 조치를 하라고 KISA는 덧붙였습니다. 10월 24일에는 특정 세션 설정에서만 생기는 추가 결함(CVE-2026-115560)도 안내됐는데, PHP 개발팀은 그런 설정이 드물다고 설명했습니다. 다만 이 결함은 10월 21일 업데이트로는 고쳐지지 않아, 다음 정기 업데이트 전까지 session.upload_progress.enabled를 0으로 바꾸고 재시작하라고 KISA는 권했습니다. 기록 보는 일이 낯설다면 조용한 실패를 알아채는 법을 적은 예전 글도 참고해 주세요.
둘이서 운영하는 저희는 이렇게 확인했습니다
저희도 오늘 홈페이지 보안 점검을 했습니다. 방법은 단순했습니다. 주소마다 서버가 돌려주는 응답 머리글을 열어 무엇으로 만들어졌는지 봤습니다. artgourmet.cloud는 'Next.js', 서버는 'Google Frontend'로 나왔고, 블로그(eben-ai.blogspot.com)는 구글 블로거 서버였습니다. 둘 다 PHP를 쓰지 않아 이번 PHP2Shell 업데이트 대상은 아니었습니다. 저희가 만드는 홈페이지 시안도 같은 방식입니다.
다만 머리글은 숨길 수 있어서 이 방법만으로 "PHP가 없다"고 단정할 수는 없습니다. 그래서 저희는 운영 중인 주소 목록과 각 주소가 어디서 돌아가는지를 따로 적어 두고, 이번처럼 큰 결함이 나오면 그 목록부터 봅니다. AI 도구가 무엇을 읽고 무엇에 접근하는지 적어 두자는 예전 보안 점검 글과 같은 원리입니다. 목록이 있으면 점검이 훨씬 빨리 끝납니다.
자주 묻는 질문
Q. 워드프레스 플러그인만 업데이트하면 되나요?
아닙니다. PHP2Shell은 플러그인이 아니라 PHP 자체의 결함이라, 서버의 PHP 버전을 올리고 재시작해야 합니다. 플러그인 업데이트는 그와 별개로 하시면 좋습니다.
Q. 호스팅 업체가 알아서 해 주지 않나요?
업체마다 다릅니다. 공지사항을 확인하고, 안내가 없으면 PHP 버전 확인 방법을 묻는 문의를 남기는 편이 빠릅니다.
Q. 업데이트했는데도 불안하다면요?
10월 20일 이후 기록을 보고 관리자·데이터베이스 비밀번호를 바꾸는 것까지 해야 홈페이지 보안 점검이 끝납니다. 이상한 흔적이 보이면 KISA 보호나라(118)에 신고하시면 됩니다.