INCIBE-CERT alerta de una vulnerabilidad PHP Windows por escritura fuera de límites al usar Brotli vía cURL

El aviso INCIBE-2026-808, con severidad 5 sobre 5, afecta a las ramas PHP 8.2 a 8.5 para Windows. Los paquetes 8.5.12-1, 8.4.27-1, 8.3.36-1 y 8.2.35-1 corrigen el fallo con Brotli 1.2.1.

El INCIBE-CERT, el equipo de respuesta a incidentes del INCIBE, ha publicado una alerta de severidad crítica por una vulnerabilidad de escritura fuera de límites que afecta a las compilaciones de PHP para Windows con versiones vulnerables de la biblioteca de compresión Brotli.

EN 30 SEGUNDOS

  • ¿Qué ha ocurrido? INCIBE-CERT alerta de una escritura fuera de límites en el decodificador Brotli incluido en PHP para Windows, con severidad crítica.
  • ¿Dónde y cuándo? Aviso INCIBE-2026-808, publicado el jueves 29 de octubre de 2026, que afecta a instalaciones PHP sobre Windows que usen la extensión cURL con descompresión automática activada.
  • ¿Qué alcance? Brotli 1.0.3 a 1.0.9, 1.1.0 y 1.2.0; CVE-2026-111497 permite revelar información, provocar una denegación de servicio o ejecutar código.

El aviso, registrado con el identificador INCIBE-2026-808, describe un fallo en el decodificador Brotli que puede ser alcanzado por un atacante remoto sin autenticación. El resultado depende del escenario de explotación: corrupción de memoria, divulgación de su contenido, interrupción del servicio o ejecución de código arbitrario. La vulnerabilidad tiene asignado el identificador CVE-2026-111497 y una calificación de severidad crítica, de 5 sobre 5.

La ruta de ataque: cURL y la descompresión automática

El vector no está en PHP, sino en una dependencia empaquetada con el intérprete. La extensión cURL de PHP puede llegar al decodificador vulnerable cuando la aplicación solicita la descompresión automática de las respuestas HTTP. Esa opción está desactivada por defecto, pero algunas aplicaciones y bibliotecas de terceros la habilitan para reducir el consumo de ancho de banda, lo que amplía la superficie expuesta.

Publicidad

Los investigadores Khai Tran y Sylvie Mayer, del equipo OpenAI Codex Security, han documentado el fallo: el decodificador Brotli escribe fuera de los límites de un búfer al procesar un flujo comprimido manipulado. En términos llanos, el programa reserva un espacio de memoria para el texto descomprimido y acaba escribiendo más allá de ese espacio.

El alcance exacto lo delimita la lista de versiones afectadas: Brotli 1.0.3 a 1.0.9, 1.1.0 y 1.2.0. Cualquier compilación de PHP para Windows que integre alguna de ellas hereda el problema, con independencia de la versión del intérprete que muestre la aplicación.

Un flujo Brotli manipulado basta para corromper la memoria del proceso PHP: revelar su contenido, tumbar el servicio o ejecutar código en el servidor.

La explotación no requiere credenciales. Un atacante que controle el contenido de una respuesta comprimida —a través de un servicio intermedio, un proxy comprometido o un endpoint manipulado— puede entregar el flujo malformado a la aplicación que lo descomprime. La única condición es que esa aplicación tenga la descompresión automática activa.

La solución: recompilaciones de PHP para Windows con Brotli 1.2.1

INCIBE-CERT remite a las compilaciones oficiales publicadas para Windows, que ya incorporan Brotli 1.2.1. Las ramas actualizadas son PHP 8.5.12-1, PHP 8.4.27-1, PHP 8.3.36-1 y PHP 8.2.35-1. El sufijo «-1» identifica la recompilación para Windows: el número de versión del intérprete permanece igual, de modo que la actualización no altera la rama que utiliza la aplicación.

La recomendación es directa: instalar el paquete correspondiente desde la página oficial de descargas de PHP para Windows y verificar después que el binario en producción es el recompilado. En entornos con varias máquinas, el orden lógico es identificar primero qué servidores ejecutan PHP sobre Windows con cURL habilitado y descompresión automática activa; esos son los que deben actualizarse primero.

La alternativa provisional, si no es posible aplicar el parche de inmediato, pasa por revisar si la aplicación habilita la descompresión automática y desactivarla mientras se programa la actualización. No es una mitigación completa —la dependencia sigue presente—, pero reduce la exposición mientras se despliega el paquete.

Publicidad

El panorama de la ciberseguridad

La alerta encaja en un patrón que las agencias de respuesta a incidentes observan con preocupación creciente: el fallo no está en el código propio de la aplicación, sino en una biblioteca de compresión empaquetada con el intérprete. Brotli, como antes zlib o libwebp, se distribuye dentro de compilaciones que muchos equipos instalan sin revisar qué dependencias arrastran. El resultado es que una vulnerabilidad crítica en una pieza auxiliar compromete el servidor completo.

La calificación del aviso es inequívoca: severidad 5 sobre 5, la máxima de la escala. Para una administración pública o una pyme que ejecute PHP sobre Windows, el vector cURL con descompresión automática es especialmente relevante porque no exige interacción del usuario ni credenciales: solo una respuesta HTTP manipulada. La exposición se reduce drásticamente al actualizar el binario, porque los paquetes con Brotli 1.2.1 corrigen la escritura fuera de límites en el decodificador.

El INCIBE-CERT mantiene el aviso abierto y lo actualizará si aparecen nuevos datos sobre explotación o si se publican paquetes adicionales para otras ramas. La recomendación institucional es clara: tratar la actualización como prioridad alta dentro del ciclo de parcheo y no esperar a la siguiente ventana programada. El servicio de alerta temprana del INCIBE, al que cualquier organización puede suscribirse, es la vía para recibir estos avisos en el momento de su publicación.

La seguridad de las infraestructuras que sostienen buena parte de los servicios digitales depende, en última instancia, de este trabajo de vigilancia técnica y de la disciplina de los administradores a la hora de aplicar los parches. La alerta, publicada el jueves 29 de octubre de 2026, sigue vigente.