🔍 CVE-2026-17545

7.5
CVSS Score
HIGH
2026-09-25
2026-10-23 14:43
✅ 완료

🇰🇷 한글 설명

Windows에서 PHP의 파일시스템 및 스트림 API가 경로의 구성요소로 CON, PRN, AUX, NUL, COM1~COM9, LPT1~LPT9, CONIN$, CONOUT$ 같은 예약된 장치 이름을 거부하지 않습니다. 공격자가 제어하는 파일명이 CreateFileW()에 전달되어 애플리케이션이 기대한 일반 파일 대신 장치가 열리며, 이로 인해 요청이 차단되거나 멈추고 워커 프로세스가 고갈될 수 있습니다.

💡 쉬운 설명

Windows에서는 CON, NUL 같은 이름이 특수 장치를 가리키는데, PHP가 이를 걸러내지 않습니다. 공격자가 이런 이름을 파일명으로 넣으면 서버가 엉뚱한 장치를 열어 응답이 멈추고 서버 자원이 고갈됩니다.

🇺🇸 원문 (English)

On Windows, PHP's filesystem and stream APIs do not reject reserved device names such as CON, PRN, AUX, NUL, COM1 to COM9, LPT1 to LPT9, CONIN$ and CONOUT$ when they appear as a component of a path. An attacker-controlled filename therefore reaches CreateFileW() and opens a device instead of the regular file the application expected, which can block or hang the request and exhaust worker processes.

📍 영향받는 시스템

Windows에서 실행되는 PHP (영향 버전은 PHP 공식 보안 공지 확인 필요)

⚔️ 공격 벡터

사용자 입력이 파일명/경로로 쓰이는 기능에 CON, NUL 등 예약 장치 이름을 전달하여 장치를 열고 요청을 중단시킴

🛡️ 대응 방법

PHP를 패치된 최신 버전으로 업데이트하고, 파일명 입력값에서 예약된 장치 이름을 애플리케이션 단에서도 검증하여 차단

🔧 검증 코드

출력된 PHP 버전이 CVE-2026-17545 수정 버전 이상인지 PHP 공식 보안 공지와 비교하며, 미만이면 취약한 것으로 판단

Shell / Script
php -v 2>/dev/null | head -n 1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

PHP