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 이상으로 가는 계획을 지금 세우세요.

  1. 01PHP 8.x 전 라인 RCE 2건 — CVE가 하루 먼저 새고, 릴리스가 앞당겨졌다지금 읽는 글
  2. 02eMudhra 중간 CA 8개의 개인키가 한 바이트였다 — 1초 만에 복구, 브라우저들이 긴급 차단
  3. 03LiteLLM 1.107.0 침해 — Python이 뜰 때마다 도는 자격증명 탈취기, 공식 파이프라인으로 배포됐다
  4. 04DuckDB 2.0 LTS "Cinnamon Teal" — 새 파서가 기본, VARIANT 타입, 비동기 I/O, 그리고 2.0 파일은 1.x가 못 읽는다
  5. 05OpenCode Console 침해 — 저장해 둔 Anthropic·OpenAI·Google API 키가 새고, 밤사이 청구서가 왔다

2026년 10월 21일에 올라온 글

그날 대시보드 →
  1. ·DuckDB 2.0 LTS "Cinnamon Teal" — 새 파서가 기본, VARIANT 타입, 비동기 I/O, 그리고 2.0 파일은 1.x가 못 읽는다
  2. ·Google Cloud 런던 존 하나가 '전원 이벤트'로 8시간 — 영국 은행·우체국·택배가 같이 멈췄다

댓글

불러오는 중…