기술·트렌드

PHP 취약점 'PHP2Shell' 경고 — 홈페이지·NAS 있는 회사가 지금 확인할 것

KISA가 10월 21일, 로그인 없이 서버를 장악할 수 있는 PHP 취약점(CVE-2026-109618·109619)을 경고했습니다. 홈페이지나 NAS를 운영하는 중소기업이 이번 주에 확인할 네 가지를 정리했습니다.

10월 21일 한국인터넷진흥원(KISA)이 PHP 보안 취약점 경고를 내고, 이튿날 기업용 대응 수칙을 따로 공지했습니다. 출처는 KISA 보호나라 공지와 경향신문 보도입니다. 보안 업데이트가 나오기 전에 취약점 세부 내용이 먼저 유출됐고, 해외 보안업체를 중심으로 실제 공격이 보고되고 있습니다. 위험도(CVSS)는 9.2입니다.

경향신문이 인용한 W3Techs 통계로는 언어가 확인되는 웹사이트의 약 75%가 PHP를 쓰고, 전체 사이트의 약 43%를 차지하는 워드프레스도 PHP로 돌아갑니다. "우리 회사는 전산실이 없는데"라고 넘길 일이 아닌 이유입니다.

무엇이 문제인가

  • 외부에서 로그인 없이 서버에 명령을 실행할 수 있습니다. 성공하면 웹셸 설치, 고객 정보 유출, 홈페이지 변조, 내부망 침투로 이어집니다.
  • 고쳐진 버전은 PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 이상입니다. PHP 8.1 이하는 공식 업데이트가 없고, 8.2도 2026년 12월 31일에 보안 지원이 끝납니다.
  • 홈페이지(호스팅·워드프레스), 그룹웨어, 시놀로지 같은 NAS의 앱, 네트워크 장비의 관리 화면처럼 'PHP가 들어 있는 줄 몰랐던' 곳이 많습니다. KISA는 10월 29일과 30일 시놀로지 제품 보안 업데이트 권고도 잇따라 냈습니다.

이번 주에 확인할 네 가지

  1. 어디에 PHP가 있는지 목록을 만듭니다. 홈페이지, 이벤트·테스트 페이지, 관리자 페이지, NAS, 장비 관리 화면까지. 자산 목록이 아니라 실제로 돌아가는 서버 기준으로 봅니다. 외주 제작사가 관리하는 사이트는 담당자에게 PHP 버전을 물어보면 됩니다.
  2. 업데이트하고 재시작합니다. 외부에 열린 서버부터입니다. 리눅스 배포판 패키지는 버전 번호가 그대로인 채 패치되는 경우가 있으니 변경 이력에서 CVE 번호를 확인합니다. 컨테이너로 배포했다면 이미지를 다시 만듭니다.
  3. 당장 올리기 어려우면 임시 조치를 합니다. 파일 업로드가 필요 없는 서비스는 multipart 업로드를 막고, 요청 크기를 제한하고, 웹방화벽(WAF) 차단 규칙을 최신으로 맞춥니다. php.ini의 session.upload_progress.enabled = 0 설정도 권고됐습니다. 다만 KISA는 임시 조치만으로는 공격을 완전히 막을 수 없다고 못 박았습니다.
  4. 로그를 보고, 비밀번호를 바꿉니다. 10월 20일 이후 PHP 페이지에 비정상적으로 큰 요청이 온 뒤 500 오류가 났는지, 웹서버가 sh·bash나 다운로드 도구를 실행했는지, 업로드·임시 폴더에 새 PHP 파일이 생겼는지, 웹서버에서 모르는 외부 주소로 새 연결이 생겼는지 봅니다. 업데이트 전까지 외부에 노출됐던 서버는 DB 비밀번호, 외부 서비스 API 키, 관리자 비밀번호를 바꿉니다. 로그가 깨끗해도 안전을 보장하지 않는다는 것이 KISA의 설명입니다.

침해가 의심될 때

순서가 중요합니다. 외부망을 끊되 서버는 끄거나 재시작하지 않습니다(메모리의 흔적이 사라집니다) → 보호나라(boho.or.kr)에 침해사고를 신고합니다 → 로그, 실행 중인 프로세스, 네트워크 연결 정보를 먼저 보존합니다 → 그다음 업데이트, 웹셸 제거, 비밀번호 교체 순으로 복구합니다. 인터넷에 도는 '공격 재현 코드(PoC)'는 가짜에 악성코드를 숨긴 경우가 많으니 실행하지 마세요. 상담은 118입니다.

자주 묻는 질문

Q. 홈페이지를 호스팅 업체에 맡겼는데도 확인해야 하나요?

네. 호스팅 업체에 PHP 버전과 패치 여부를 문의하세요. 워드프레스는 관리자 화면의 '사이트 상태' 메뉴에서 PHP 버전을 바로 볼 수 있습니다.

Q. NAS는 왜 해당되나요?

NAS의 웹 관리 화면과 사진·메모 같은 앱 상당수가 PHP로 돌아갑니다. NAS는 보통 백업 장비라서, 침해되면 자료와 복구 수단을 한꺼번에 잃을 수 있습니다. 제조사 패치를 적용하고 외부 인터넷에서 직접 접속되지 않게 해 두는 것이 기본입니다.

Q. 임시 조치만 해 두면 되나요?

아니요. KISA가 임시 조치는 완전한 방어가 아니라고 명시했습니다. 업데이트가 끝입니다.

페스트페이스의 시각

이번 건은 보안 솔루션보다 '어디에 무엇이 돌아가는지 아는 것'이 먼저라는 사실을 다시 보여 줍니다. 저희가 네트워크를 구축·운영하는 고객사에서는 외부에 열린 서비스 목록을 함께 관리하고, 메일로 오는 가짜 패치 안내와 PoC 파일을 걸러내는 일부터 시작합니다. 전담 인력이 없는 회사라면 이번 주에 위 네 가지만이라도 확인해 보시길 권합니다.