High · published September 26, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| php/php | ≥ 8.2.0, < 8.2.34 | 8.2.34 |
| php/php | ≥ 8.3.0, < 8.3.35 | 8.3.35 |
| php/php | ≥ 8.4.0, < 8.4.26 | 8.4.26 |
| php/php | ≥ 8.5.0, < 8.5.11 | 8.5.11 |