워드프레스 코어에 로그인 없이도 원격 코드 실행으로 이어질 수 있는 치명적 취약점이 발견돼, 2026년 9월 22일 공식 보안 업데이트가 배포됐다. WordPress 7.1.2를 비롯해 4.7까지 거슬러 올라가는 모든 지원 브랜치에 패치가 백포트됐다. 취약점을 발견해 책임 공개한 보안 연구자 Robert Ressl에 따르면, 공격자는 계정도 쿠키도 없이 페이지 템플릿 처리 과정만으로 서버의 임의 PHP 파일을 읽어 들일 수 있다.
이 결함은 CVE-2026-87902로 등록됐고 GitHub Security Advisory GHSA-7hp8-65ch-5whp에 공식 문서화됐다. CVSS 4.0 기준 9.2점, Critical 등급이다. 공격 벡터는 네트워크, 필요 권한은 없음, 사용자 상호작용도 없음으로 표시돼 있어, 조건만 맞으면 방문자 입장에서 아무 신호 없이 서버가 뚫릴 수 있다는 뜻이다.

어디가 왜 뚫리는가
문제는 워드프레스가 페이지 템플릿을 찾는 방식에 있다. 워드프레스는 방문자가 요청한 페이지에 맞는 템플릿 파일을 찾을 때, 익명 POST 요청에 담긴 pagename, page_id 값을 그대로 받아들인다. 여기에 상위 폴더로 이동하는 경로 문자열(../)을 두 번 인코딩해 넣으면, 초기 검사 단계는 이를 정상 문자로 착각하고 통과시킨다. 이후 유효한 page_id가 실제 페이지를 정상적으로 불러오는 동안, 조작된 경로 값은 사라지지 않고 템플릿 후보 목록에 그대로 남는다.
이 흐름이 실제 파일 접근으로 이어지려면 활성 테마(자식 또는 부모 테마) 최상위에 이름이 page-로 시작하는 폴더가 있어야 한다. 오래된 기본 테마인 Twenty Twelve, Twenty Fourteen과 일부 인기 서드파티 테마(Neve, Hestia, Sydney 등)가 이 조건에 해당한다. 이 폴더를 발판 삼아 상위 디렉터리로 빠져나가면, 서버에 남아 있는 읽기 가능한 PHP 파일을 워드프레스가 그대로 템플릿으로 포함시켜 실행한다.

파일을 읽는 것과 코드가 실행되는 것의 차이
여기까지는 서버의 로컬 파일을 읽어 들이는 데 그친다. 이것이 실제 코드 실행으로 이어지려면 서버에 이미 존재하는 실행 가능한 PHP 파일이 하나 더 필요하다. Ressl은 공식 PHP Docker 이미지에 기본 포함된 PEAR 패키지 관리자의 pearcmd.php를 이 용도로 시연했다. 첫 번째 익명 요청으로 PEAR의 설정 생성 기능을 악용해 공격자가 원하는 PHP 코드를 서버의 임시 폴더에 써넣고, 두 번째 익명 요청으로 그 파일을 앞서 설명한 경로 결함을 통해 불러들여 실행시키는 방식이다. 이 경로는 PHP 설정값 register_argc_argv가 켜져 있어야 작동하며, 워드프레스 공식 advisory는 공식 PHP Docker 이미지와 PHP 8.5 이전 버전을 쓰는 기본 cPanel 환경이 이 조건에 해당한다고 밝혔다.
PEAR는 워드프레스의 필수 구성 요소가 아니고, 모든 서버 환경에 존재하지도 않는다. Ressl의 분석이 짚은 지점은 따로 있다. 워드프레스 코어는 경로를 최종 형태로 정리(canonicalize)할 뿐, 그 결과가 실제로 테마 폴더 안에 있는지 확인(containment)하지 않는다. PEAR가 없어도 서버에 다른 읽기 가능한 PHP 파일이 있다면 같은 결함이 다른 방식으로 악용될 여지가 남는다.
내 사이트는 지금 무엇을 확인해야 하나
워드프레스는 전 세계 웹사이트의 약 40%가 쓰는 콘텐츠 관리 시스템이다(w3techs, 2026년 9월 기준). 이번 결함은 특정 부가기능이 아니라 코어 자체에 있었던 만큼, 사이트가 자동 백그라운드 업데이트를 켜 두었는지 우선 확인해야 한다. 자동 업데이트가 꺼져 있다면 워드프레스 대시보드의 업데이트 메뉴에서 지금 바로 7.1.2(또는 자신이 쓰는 브랜치의 패치 버전)로 올려야 한다. 4.7부터 7.1.1까지 사실상 모든 배포 버전이 영향을 받는다.
테마가 Neve, Hestia, Sydney처럼 page-로 시작하는 폴더를 쓰는 제품이거나, 직접 제작한 테마에 비슷한 폴더 구조가 있다면 업데이트 우선순위를 더 높여야 한다. 서버에 PEAR가 설치돼 있거나 PHP 설정에서 register_argc_argv가 켜져 있는 경우, 워드프레스 패치와 별개로 이 설정 자체를 다시 점검할 필요가 있다. 워드프레스 코어의 결함은 패치로 막히지만, 서버에 남아 있는 다른 실행 가능한 PHP 파일까지 워드프레스가 보증해 주지는 않기 때문이다.
출처: GitHub Security Advisory GHSA-7hp8-65ch-5whp, WordPress.org 공식 발표(2026-09-22), Robert Ressl 기술 분석(ressl.ch)
