7호01 / 05
PHP 8.x 전 라인 RCE 2건 — CVE가 하루 먼저 새고, 릴리스가 앞당겨졌다
원문 PHP.net ↗
PHP 보안 릴리스입니다. 원래 10월 22일 예정이었는데 21일 14:00 UTC로 앞당겨졌습니다. 20일 15:00 UTC경 CVE ID 두 개가 포럼과 SNS에 돌기 시작했고, 보안 업체 Calif가 실수로 올린 PoC 영상이 삭제 전에 퍼졌기 때문입니다.
두 취약점
CVE-2026-109618 — OOM 처리에 의한 RCE. 메모리 부족으로 PHP가 중단될 때 요청 내부 데이터가 부분적으로만 초기화된 채 남고, 요청 정리 단계가 그 잘못된 데이터를 정상으로 처리합니다.
CVE-2026-109619 — 오래된 전역 상태에 의한 RCE. 요청이 소유한 내부 상태가 메모리 해제 뒤에도 남아, 같은 워커가 처리하는 다음 요청이 초기화 전에 그 상태를 씁니다. 공개 시연이 있고, mod_php에서 가장 위험하며, 인증 없이 애플리케이션 코드 실행 전에 공격 가능한 경우가 확인됐습니다.
둘 다 CVSS v4.0 9.2입니다. 유출 과정에서 10.0으로 알려진 건 정정됐습니다.
영향 범위
웹 요청을 처리하는 모든 PHP: PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, LiteSpeed. 8.1 이하는 프로젝트 지원이 끝났습니다 — 보안팀이 7.4, 8.0, 8.1용 최소 소스 백포트를 제공하고, 배포판 벤더 패키지를 확인하라고 합니다.
타임라인
| 날짜 | 내용 |
|---|---|
| 8/19 | Wiz Research 첫 발견 |
| 8/20~21 | Drupal, WordPress 대상 비인증 RCE 확인 |
| 8/24 | PHP 보안팀 제보 |
| 9/21 | PHP가 확인, 수정 시작 |
| 10/20 | CVE ID 유출, 사전 공지 앞당김 |
| 10/21 | 릴리스 |
| 10/23 | 세션 업로드 진행률 관련 추가 권고(CVE-2026-115560, 다음 릴리스에 수정) |
반론
eliastaylor.com의 글은 공개된 PoC 다수가 순정 PHP에서 동작하지 않고, LFI 같은 기존 취약점을 전제하거나 일부러 취약하게 만든 서버를 대상으로 한다고 주장합니다. 취약점은 실재하고 패치해야 하지만 Log4Shell처럼 "쉬운" 건 아니라는 것입니다. 저자의 테스트 환경과 결과는 자세히 적혀 있지 않습니다. PHP Foundation도 기술적 세부가 유출되진 않았다고 했습니다. 즉 익스플로잇 난이도는 아직 확정되지 않았습니다 — 그게 패치를 미룰 이유는 아닙니다.
실무에서 할 일
1순위: 업데이트. 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35. 배포판 패키지는 사전에 패치를 받았습니다.
바로 못 올리면 PHP 공식 완화를 넣으세요. 완전한 해결은 아닙니다.
; CVE-2026-109618 (OOM)
memory_limit = -1
post_max_size = 8M ; 업로드 필요 시 32M
; RLIMIT_AS / RLIMIT_DATA 쓰지 말 것. 컨테이너·cgroup 제한으로 대체
; CVE-2026-109619 (stale state)
session.upload_progress.enabled = 0
fatal_error_backtraces = 0 ; 8.5만
php.ini나 FPM 풀 설정(php_admin_value)에 넣고 모든 워커를 재시작하세요. ini_set()이나 .user.ini는 요청 단위라 소용없습니다. 프록시 단에서 요청 크기, 필드 수, multipart 파트 수, 헤더 수를 제한하는 것도 권고에 있습니다.
그리고 PHP 8.2는 12월 31일에 지원이 끝납니다. 이번에 8.2.35로 올렸다면 두 달 뒤 또 올려야 합니다. 8.3 이상으로 가는 계획을 지금 세우세요.
7호의 다른 글
요약으로 한 번에 보기 →- 01PHP 8.x 전 라인 RCE 2건 — CVE가 하루 먼저 새고, 릴리스가 앞당겨졌다지금 읽는 글
- 02eMudhra 중간 CA 8개의 개인키가 한 바이트였다 — 1초 만에 복구, 브라우저들이 긴급 차단
- 03LiteLLM 1.107.0 침해 — Python이 뜰 때마다 도는 자격증명 탈취기, 공식 파이프라인으로 배포됐다
- 04DuckDB 2.0 LTS "Cinnamon Teal" — 새 파서가 기본, VARIANT 타입, 비동기 I/O, 그리고 2.0 파일은 1.x가 못 읽는다
- 05OpenCode Console 침해 — 저장해 둔 Anthropic·OpenAI·Google API 키가 새고, 밤사이 청구서가 왔다
2026년 10월 21일에 올라온 글
그날 대시보드 →댓글
불러오는 중…