Una falla en PHP sobre Windows (CVE-2026-17545) permite que un atacante use nombres reservados como CON, NUL o CONIN$ en rutas de archivo para bloquear peticiones y agotar los procesos del servidor, causando denegación de servicio. Afecta solo a instalaciones de PHP en Windows con aplicaciones que arman rutas a partir de datos del usuario. Actualiza a PHP 8.2.34, 8.3.35, 8.4.26 o 8.5.11 según tu rama.
Qué está pasando
En Windows existen nombres de archivo reservados que en realidad corresponden a dispositivos del sistema: CON, PRN, AUX, NUL, COM1 a COM9, LPT1 a LPT9, CONIN$ y CONOUT$. Las funciones de archivos y streams de PHP no rechazaban estos nombres cuando aparecían dentro de una ruta, por lo que en vez de abrir el archivo esperado, PHP abría el dispositivo.
Si una aplicación arma rutas con datos que envía el usuario, por ejemplo un endpoint de descarga que recibe el nombre del archivo o un formulario de subida que usa el nombre original del archivo con move_uploaded_file(), un atacante puede pedir algo como ?file=CONIN$ o ?file=NUL.txt. En el caso de CONIN$, la petición queda bloqueada esperando entrada de consola.
Con varias peticiones simultáneas de este tipo se agotan los procesos de trabajo de PHP y el sitio deja de responder (denegación de servicio). También puede provocar lecturas y escrituras inesperadas o errores de la API nativa. El boletín incluye una prueba de concepto pública.
Solo se ven afectadas las instalaciones de PHP en Windows; en Linux u otros sistemas estos nombres no tienen significado especial. La corrección rechaza las rutas con componentes reservados antes de cualquier operación, manteniendo el uso directo de NUL por compatibilidad.
Vulnerabilidades
| CVE | CVSS | Descripción |
|---|---|---|
| CVE-2026-17545 | — | PHP en Windows no rechaza nombres de dispositivo reservados (CWE-67) en las APIs de archivos y streams, lo que permite bloquear peticiones y agotar los procesos de trabajo, causando denegación de servicio. |
Productos afectados
| Producto | Versiones afectadas | Versión corregida |
|---|---|---|
| PHP (php-src) en Windows | < 8.2.34 | 8.2.34 |
| PHP (php-src) en Windows | < 8.3.35 | 8.3.35 |
| PHP (php-src) en Windows | < 8.4.26 | 8.4.26 |
| PHP (php-src) en Windows | < 8.5.11 | 8.5.11 |
Qué hacer ahora
- Identifica los servidores Windows que ejecutan PHP y verifica la versión instalada con
php -v. - Actualiza PHP a 8.2.34, 8.3.35, 8.4.26 o 8.5.11, según la rama que uses.
- Reinicia el servicio web o el pool de procesos PHP tras actualizar y confirma que la nueva versión está activa.
Te ayudamos a revisar sin costo si tus servidores o equipos usan una versión afectada por esta alerta, y qué conviene hacer primero.
Parte por los servidores Windows con PHP expuestos a Internet, en especial los que tienen funciones de descarga o subida de archivos, que son el escenario descrito en el boletín. Es habitual que PHP en Windows venga integrado en paquetes como XAMPP, WAMP o aplicaciones de terceros, así que revisa también esos casos, que suelen quedar fuera del inventario.
Aunque la gravedad es media y solo afecta a Windows, una caída del sitio por agotamiento de procesos tiene impacto directo en el negocio. Como buena práctica, revisa que tus aplicaciones no usen directamente el nombre de archivo enviado por el usuario para construir rutas: genera nombres propios o valida contra una lista de caracteres permitidos.
Cómo te ayuda UpTech
Mientras aplicas la actualización, podemos definir en Cerberus WAF reglas específicas para las rutas y parámetros vulnerables de tu sitio. Reduce la exposición, pero no reemplaza el parche.
Conocer el servicio → Servicios Gestionados TICon Gestión de Parches, las actualizaciones de seguridad de sistemas operativos y aplicaciones se aplican de forma programada, sin depender de que alguien lea esta alerta a tiempo.
Conocer el servicio → Respaldo y MonitoreoEl monitoreo 24/7 con alertas en tiempo real ayuda a detectar a tiempo comportamientos anómalos en tus servidores.
Conocer el servicio →Referencias
- https://github.com/php/php-src/security/advisories/GHSA-9f67-6fw4-hpfp
- https://www.cve.org/CVERecord?id=CVE-2026-17545