WordPress는 PHP 위에서 동작하며, 사이트가 아직 보안 패치를 받을 수 있는지는 PHP 버전에 달려 있습니다. 2026년 10월 PHP에서 치명적인 취약점 두 개가 발견되었는데, PHP를 업데이트해야만 해결할 수 있었습니다. WordPress 업데이트로는 해결되지 않았습니다. 이 글에서는 PHP 버전을 몇 분 만에 확인하는 방법, 안전한 버전, 그리고 사이트가 깨지지 않게 업데이트하는 방법을 알아봅니다.
PHP2Shell: 지금 PHP 버전이 중요한 이유
PHP는 2026년 10월 21일 PHP2Shell로 불리는 치명적인 취약점 두 개(CVE-2026-109618, CVE-2026-109619)를 수정한 버전을 공개했습니다. 두 취약점의 심각도는 모두 9.2/10(CVSS 4.0)입니다. 최악의 경우 공격자가 로그인하지 않고도 서버에서 원하는 명령을 실행할 수 있습니다. Apache의 mod_php 환경에서는 WordPress 코드가 실행되기도 전에 공격이 시작될 수 있습니다.
이 취약점은 각 PHP 브랜치에서 수정 버전 이전의 모든 버전에 영향을 줍니다. 수정 버전은 8.2.35, 8.3.36, 8.4.27, 8.5.12입니다. PHP 8.1 이하 버전은 더 이상 PHP 프로젝트의 업데이트를 받지 않습니다. PHP는 10월 23일 세 번째 취약점(CVE-2026-115560)도 발표했는데, 이를 악용하려면 드문 설정과 애플리케이션 코드가 함께 맞아떨어져야 합니다. 이 취약점은 다음 정기 릴리스에서 수정됩니다.
핀란드 국가사이버보안센터(NCSC-FI)에 따르면 10월 21일 기준으로 실제 악용 사례는 알려지지 않았지만, 작동하는 예제 코드가 이미 있었으므로 상황이 빠르게 바뀔 수 있습니다.
PHP 보안 패치는 1년에 여러 번 나오지만, 지원 중인 버전 브랜치만 받을 수 있습니다. 각 브랜치는 약 4년 동안 패치되며, 그 이후에 발견되는 취약점은 그대로 남습니다. 그러므로 취약점이 뉴스에 나올 때만이 아니라 정기적으로 PHP 버전을 확인하는 것이 좋습니다.
PHP 버전 확인 방법
WordPress 관리자 화면에서
- 관리자 계정으로 WordPress에 로그인합니다.
- 왼쪽 메뉴에서 도구 → 사이트 건강(영어 WordPress에서는 Tools → Site Health)을 선택합니다.
- 정보(Info) 탭을 열고 서버(Server) 항목을 펼칩니다.
- PHP 버전(PHP version) 행에서 8.3.36처럼 정확한 버전 번호를 볼 수 있습니다.
번호 전체를 확인하세요. 브랜치(8.3)는 그 버전이 아직 지원되는지를, 마지막 숫자(36)는 최신 패치가 설치되었는지를 알려 줍니다. 버전이 오래되었으면 WordPress 알림판에 PHP 업데이트가 필요합니다라는 경고도 표시됩니다. 하지만 경고를 기다리지 말고 직접 번호를 확인하세요.
호스팅 관리 패널에서
대부분의 웹호스팅에서는 관리 패널에서 PHP 버전을 확인하고 변경할 수 있습니다. cPanel에서는 보통 MultiPHP Manager 또는 Select PHP Version이라는 메뉴이고, Plesk에서는 도메인별 PHP 설정에 있습니다. 찾을 수 없다면 호스팅 업체에 사이트의 PHP 버전이 무엇인지, 2026년 10월 패치가 설치되었는지 문의하세요.
서버에서(관리자용)
직접 운영하는 서버에서는 php -v 명령으로 명령줄 PHP의 버전을 확인할 수 있습니다. 하지만 웹 서버는 PHP-FPM이나 Apache 모듈을 통해 다른 버전을 쓸 수 있으므로, 사이트를 실행하는 PHP가 같은 버전이라는 보장은 없습니다. 가장 확실한 정보는 WordPress의 사이트 건강 화면에 있습니다.
Debian, Ubuntu, Red Hat 같은 Linux 배포판은 버전 번호를 바꾸지 않고 자체 패키지에 패치를 반영하는 경우가 많습니다. 따라서 번호가 오래된 것처럼 보여도 패치가 설치되어 있을 수 있습니다. 이럴 때는 패키지 변경 로그에 해당 CVE ID가 나와 있는지 확인하세요.
어떤 PHP 버전이 안전한가요?
안전한 버전은 두 가지 조건을 충족합니다. 버전 브랜치가 아직 보안 패치를 받고 있어야 하고, 서버에 해당 브랜치의 최신 패치 릴리스가 설치되어 있어야 합니다. 2026년 10월 현재 상황은 다음과 같습니다.
| PHP 브랜치 | 보안 지원 종료일 | PHP2Shell 수정 버전 |
|---|---|---|
| 8.5 | 2029년 12월 31일 | 8.5.12 |
| 8.4 | 2028년 12월 31일 | 8.4.27 |
| 8.3 | 2027년 12월 31일 | 8.3.36 |
| 8.2 | 2026년 12월 31일 | 8.2.35 |
| 8.1 이하 | 종료됨(8.1: 2025년 12월 31일, 7.4: 2022년 11월 28일) | 공식 릴리스 없음 |
WordPress는 PHP 8.3 이상을 권장합니다. PHP 7.4에서도 아직 동작하지만, wordpress.org는 오래된 버전이 사이트를 보안 문제에 노출시킬 수 있다고 경고합니다. PHP 8.2 지원은 2026년 말에 끝나므로, 사이트가 8.2를 쓰고 있다면 지금부터 8.3이나 8.4로 옮길 계획을 세우세요.
7.4, 8.0, 8.1 버전의 경우 PHP 보안팀은 PHP를 직접 컴파일하는 사용자를 위해 PHP2Shell 패치를 소스 코드로만 공개했습니다. 일부 Linux 배포판과 호스팅 업체는 오래된 버전용 패치 패키지를 자체적으로 만들기도 합니다. 그래도 근본적인 해결책은 지원되는 버전으로 옮기는 것입니다.
PHP 업데이트 방법
웹호스팅에서
같은 브랜치 안의 패치(예: 8.3.35 → 8.3.36)는 보통 호스팅 업체가 설치합니다. 브랜치 변경(예: 8.1 → 8.3)은 대개 관리 패널에서 직접 해야 합니다. 다음 순서로 진행하세요.
- 파일과 데이터베이스를 백업합니다. 많은 웹호스팅에서는 관리 패널에서 백업할 수 있습니다.
- WordPress, 테마, 플러그인을 업데이트합니다. 오래된 플러그인이나 테마는 PHP 업데이트 때 사이트가 깨지는 흔한 원인입니다.
- 웹호스팅에 테스트 환경(스테이징)이 있다면 먼저 복사본에서 테스트합니다.
- 관리 패널에서 PHP 버전을 변경합니다.
- 사이트를 점검합니다. 메인 페이지, 양식, 온라인 쇼핑몰 결제 화면, 관리자 화면을 둘러보고, 사이트 건강 화면에서 새 버전이 적용되었는지 확인합니다.
문제가 생기면 잠시 이전 버전으로 되돌리고, 문제가 된 플러그인을 고치거나 교체한 뒤 다시 시도하세요. 오래된 버전에 계속 머무르는 것은 좋지 않습니다.
직접 운영하는 서버에서
- 배포판의 업데이트된 PHP 패키지를 설치하거나(예:
apt upgrade또는dnf upgrade) 패치된 버전을 컴파일합니다. - PHP-FPM, Apache, 그리고 백그라운드 작업처럼 PHP를 실행하는 다른 프로세스를 다시 시작합니다. 그래야 패치가 적용됩니다.
- 사이트를 컨테이너에서 실행한다면 패치된 PHP로 새 이미지를 빌드해 배포합니다.
- 마지막으로 사이트 건강 화면에서 버전을 확인합니다.
바로 업데이트할 수 없다면
PHP에 따르면 완전한 해결책은 업데이트뿐입니다. 업데이트가 늦어진다면 서버 관리자는 PHP 보안 공지에서 권장하는 설정으로 위험을 줄일 수 있습니다. 웹호스팅에서는 보통 호스팅 업체가 이 설정을 결정합니다.
session.upload_progress.enabled=0은 CVE-2026-109619와 CVE-2026-115560에 대해 확인된 공격 방법을 차단합니다. PHP에 따르면 이 기능이 필요 없다면 업데이트한 뒤에도 꺼 두는 것이 좋습니다.- PHP 8.5에서는
fatal_error_backtraces=0으로 확인된 또 다른 공격 방법을 막을 수 있습니다.
두 설정 모두 CVE-2026-109618은 막지 못합니다. 설정으로 시간을 벌 수는 있지만 업데이트를 대신할 수는 없습니다.
자주 묻는 질문
WordPress가 PHP를 자동으로 업데이트하나요?
아니요. WordPress는 스스로를 업데이트하지만, PHP는 서버 소프트웨어이며 호스팅 업체나 서버 관리자가 업데이트합니다. 그래서 WordPress를 업데이트해도 PHP2Shell 취약점은 해결되지 않습니다.
WordPress에는 어떤 PHP 버전을 선택해야 하나요?
WordPress는 PHP 8.3 이상을 권장합니다. 2026년 10월 현재 최신 패치가 설치되어 있고 플러그인이 지원한다면 8.3과 8.4가 좋은 선택입니다.
PHP를 업데이트하면 사이트가 깨지나요?
8.3.35 → 8.3.36처럼 같은 브랜치 안의 패치 릴리스는 문제를 일으키는 경우가 드뭅니다. 브랜치를 바꾸면 오래된 플러그인이나 테마가 깨질 수 있으므로 백업한 뒤 먼저 테스트하세요.
PHP 7.4는 아직 안전한가요?
아니요. 보안 지원은 2022년 11월 28일에 끝났습니다. WordPress는 아직 7.4에서 동작하지만, wordpress.org는 오래된 버전이 사이트를 보안 문제에 노출시킬 수 있다고 경고합니다.
호스팅 업체가 PHP2Shell 패치를 설치했는지 어떻게 알 수 있나요?
사이트 건강 화면에서 PHP 버전 번호 전체를 확인하고 위의 표와 비교하세요. 번호가 더 낮다면 호스팅 업체에 해당 패키지에 패치가 포함되어 있는지 문의하세요.
PHP 업데이트로 플러그인이 깨졌거나 사이트 유지보수를 맡길 곳이 필요하다면 문의해 주세요. WordPress와 PHP 애플리케이션 업데이트를 도와드립니다.
출처
- 핀란드 국가사이버보안센터(NCSC-FI): Kriittisiä haavoittuvuuksia PHP:ssa (37/2026) (핀란드어)
- PHP: Security advisory: Critical remote code execution vulnerabilities, update now (영어)
- PHP: RCE via OOM corruption, CVE-2026-109618 (영어)
- PHP: RCE via stale global state, CVE-2026-109619 (영어)
- PHP: 지원 버전 (영어)
- WordPress: 요구 사항 (영어)



