PHP 8.5.12 등 긴급 보안 릴리스, 원격 코드 실행 취약점 2건 수정 및 엠바고 유출 논란
- PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 버전이 2026년 10월 21일 공개되어 원격 코드 실행 취약점 2건(CVE-2026-109618, CVE-2026-109619)을 수정함
- CVE-2026-109618은 요청이 memory_limit에 도달한 순간 부분 초기화된 내부 데이터가 남아 메모리를 오염시키는 OOM 손상 문제이며, Apache mod_php에서는 인증 없이 기본 설정으로도 원격 코드 실행이 시연됨
- CVE-2026-109619는 치명적 오류 시점에 내부 상태가 이전 요청의 해제된 메모리를 가리켜 use-after-free가 생기고, 실제 애플리케이션에서 원격 코드 실행이 시연됨
- 2024년 외부 감사에서 OOM 문제의 초기 징후가 발견됐지만, 여러 수정안이 호환성 깨짐이나 서드파티 확장 수정 문제를 안고 있어 보안팀 합의가 지연되며 수정이 수개월 멈춤
- 공개 예정일 전에 Chainguard가 수정 패치가 담긴 이미지를 6시간 이상 먼저 공개해 엠바고가 깨졌고, 이 과정에서 PHP 재단이 보안 팀 구조 문제를 인정함
Hacker News opinions
2024년 이슈가 패치 안 된 채로 남은 것도 문제인데, 정식 배포 전에 여러 곳에서 정보가 새어나간 게 더 큰 문제인 것 같음.
공개 직전에 CVE 번호를 HN에 올린 게 본인이라는 글이 있음. 엠바고가 없다고 연락처한테 들었는데 거짓이었다고 사과함.
Docker 이미지가 2시간 넘게 안 올라온다는 불만이 많은데, 공개 프로젝트는 빌드 파이프라인도 공개라서 비공개 빌드 시스템을 따로 만들어야 함. 비용이랑 유지보수 부담이 꽤 큼.
Chainguard가 이미 악용이 보였다면 엠바고를 깨는 건 이해됨. 엠바고는 아무도 안 건드릴 때 의미가 있는 거니까.
근데 Chainguard가 6시간 먼저 바이너리를 풀면 공격자가 패치를 역분석할 시간을 주는 거라서 이건 욕 먹을 만함.
진짜 패닉을 만든 건 파트너 보안업체가 24시간 넘게 일찍 올린 영상임. 그 뒤로 에이전트들이 PHP 코드베이스를 무차별 대입하면서 에너지도 엄청 씀.
PHP 사용자 대부분은 Docker 이미지가 아니라 배포판 패키지로 PHP를 깔아서, 그쪽 작업이 더 중요했음.