CVE-2026-17545
Received Received - Intake

Path Traversal in PHP via Reserved Device Names

Vulnerability report for CVE-2026-17545, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-25

Last updated on: 2026-09-25

Assigner: PHP Group

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-25
Last Modified
2026-09-25
Generated
2026-09-26
AI Q&A
2026-09-26
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
php php *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-67 The product constructs pathnames from user input, but it does not handle or incorrectly handles a pathname containing a Windows device name such as AUX or CON. This typically leads to denial of service or an information exposure when the application attempts to process the pathname as a regular file.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Windows systems running PHP. PHP's filesystem functions do not block reserved device names like CON, PRN, or NUL when they appear in file paths. Attackers can exploit this by providing a malicious path that opens a device instead of a file, causing hangs or process exhaustion.

Detection Guidance

Check for filenames containing reserved Windows device names (CON, PRN, AUX, NUL, COM1-COM9, LPT1-LPT9, CONIN$, CONOUT$) in logs or file paths. Use PowerShell: Get-ChildItem -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.FullName -match '(?i)(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9]|CONIN\$|CONOUT\$)' }

Scan PHP applications for file operations using these reserved names. Check web server access logs for unusual paths containing these terms.

Impact Analysis

An attacker could disrupt applications by forcing them to interact with system devices instead of files, leading to hangs, crashes, or resource exhaustion. This may cause denial-of-service conditions or unexpected behavior in PHP-based applications.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR or HIPAA as it primarily impacts system availability and process exhaustion rather than data confidentiality or integrity. However, if exploited to disrupt services handling sensitive data, it could indirectly impact compliance by causing delays or failures in processing personal or health information.

Mitigation Strategies

Update PHP to the latest version where this issue is fixed. Validate all user-controlled filenames against a list of reserved device names before processing. Implement strict input validation in PHP applications handling file paths.

Configure PHP to reject paths with reserved names via custom stream wrappers or filesystem checks. Monitor for blocked worker processes or hangs in PHP applications.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-17545. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart