CVE-2026-17545: PHP filesystem and stream APIs reserved device name handling

CVE-2026-17545 · Severity: info · Published 2026-09-25

On Windows, PHP's file handling functions do not reject reserved device names like CON, PRN, and NUL when embedded in file paths. An attacker can exploit this by providing specially crafted filenames to applications (such as upload or download endpoints) to open system devices instead of regular files, causing requests to hang or block indefinitely and exhausting server worker processes.

Technologies: Php. Vendors: PHP.

Quick answers

Is CVE-2026-17545 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-17545 being exploited in the wild.
How severe is CVE-2026-17545?
Informational severity, published 25 September 2026.
Which products and versions are affected?
Php before 8.2.34, before 8.3.35, before 8.4.26, before 8.5.11.
Is there a fix for CVE-2026-17545?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-17545 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-17545?
Check whether you run Php at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

PHP's filesystem and stream APIs (file_get_contents(), move_uploaded_file(), and related functions) pass user-controlled paths directly to Windows CreateFileW() without validating for reserved device names. Attackers can craft paths containing names like CONIN$ or CON.txt that resolve as devices rather than files; blocking on such devices can exhaust concurrent worker processes. The fix adds validation to reject reserved device name components in paths before I/O operations, though bare device names (NUL, NUL:) are permitted for backward compatibility.

Affected products

  • PHP PHP before 8.2.34, before 8.3.35, before 8.4.26, before 8.5.11

Timeline

  • 2026-09-25: disclosed: Published on NVD and GitHub Security Advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.