CGI.pm divulga 20 CVE y recomienda actualizar a 5.00 o posterior
La divulgación agrupa 20 CVE en CGI.pm y módulos relacionados. La corrección upstream llegó en 5.00 y las notas de 5.02 advierten cambios de comportamiento; la exposición depende del código y del módulo usado.

El mantenedor de CGI.pm publicó el 4 de noviembre una divulgación de 20 CVE en la distribución Perl y sus módulos relacionados, para versiones anteriores a 5.00. La lista incluye identificadores CVE-2026-120631 a CVE-2026-120648, además de CVE-2026-120650 y CVE-2026-120651. La recomendación del aviso es actualizar a 5.00 o posterior; el historial upstream ya registra 5.02, publicado el día anterior como release de seguridad.
No se trata de veinte fallos iguales con un único botón rojo. La lista mezcla agotamiento de recursos, problemas de cabeceras y redirecciones, filtraciones entre solicitudes persistentes, XSS, traversal en nombres de archivos y discrepancias en el parseo de formularios. La exposición depende del módulo de CGI.pm que invoque la aplicación y de cómo use sus resultados, así que una instalación antigua merece inventario aunque no todas las aplicaciones tengan activadas todas las rutas afectadas.
Cuando el proxy y la aplicación leen cosas distintas
Una de las fallas más operativas afecta al parser de multipart/form-data: diferencias respecto al formato esperado pueden permitir que ciertos campos pasen por delante de un proxy o un WAF sin que la aplicación los interprete igual. El aviso la describe como un riesgo de request smuggling, pero eso no significa que cualquier despliegue con CGI.pm sea automáticamente evadible: depende de la combinación concreta de proxy, aplicación y código que procesa la petición.
Las URLs construidas desde cabeceras del cliente abren otra vía de abuso. En particular, X-Forwarded-Host se acepta en varias funciones sin validación; si una aplicación utiliza esas URLs para redirecciones, enlaces o contenido almacenado, puede terminar apuntando al host del atacante. También hay fallos de inyección en cabeceras y cookies, y un caso de XSS en URLs devueltas por el módulo cuando la aplicación las coloca en determinados contextos HTML o JavaScript.
-SecureCrew dice:Un proxy y una aplicación pueden leer la misma petición de dos formas distintas; al atacante le basta con que discrepen.-
El impacto va más allá del navegador
Hay varios problemas de denegación de servicio (DoS) relacionados con expresiones regulares, cuerpos multipart y límites de entrada. Uno de ellos puede consumir CPU con una cabecera Content-Type especialmente preparada sin necesidad de enviar el cuerpo del formulario; otros afectan a cookies, formularios o cargas. La nota de cambios de 5.02 también advierte que la release incorpora límites y cambios de comportamiento, por lo que actualizar sin leer las notas puede sorprender a aplicaciones que dependen de defaults antiguos.
Los errores no se limitan a solicitudes malformadas que terminan en una página rota. Un defecto de CGI::Carp puede arrastrar advertencias entre peticiones cuando el proceso es persistente, como en determinados entornos FastCGI, mod_perl o PSGI. Si esas advertencias contienen datos de una solicitud y el buffer no se limpia, podrían aparecer en la respuesta de otra persona. El contexto de ejecución importa tanto como el número de versión: ese caso requiere que la aplicación use la función afectada y mantenga estado entre solicitudes.
-SecureCrew dice:La persistencia ahorra procesos; también puede ahorrar el aislamiento entre dos peticiones si nadie limpia el buffer.-
Los rangos tampoco son idénticos para las veinte entradas. El aviso general cubre CGI.pm anterior a 5.00, pero algunos registros acotan módulos y versiones: CGI::Cookie aparece desde 4.67, mientras que otros defectos especifican límites inferiores distintos. Los avisos consultados no reportan explotación observada y no aportan una puntuación CVSS única para todo el conjunto. No conviene convertir una colección de fallos distintos en una etiqueta de riesgo universal.
Actualizar con el módulo y la aplicación en mente
El mantenedor recomienda CGI.pm 5.00 o posterior; las notas upstream identifican 5.02 como release de seguridad y advierten de cambios incompatibles en algunos comportamientos. Quien mantenga aplicaciones Perl debería comprobar qué distribución y módulos usa realmente, revisar si el proveedor del sistema ha aplicado un backport y leer las notas de la release antes del despliegue. Una versión base antigua no demuestra por sí sola que un paquete de distribución siga vulnerable.
La actualización corrige los defectos upstream conocidos, pero no sustituye la revisión de las rutas de código expuestas. Merece atención especial cualquier aplicación que construya redirecciones desde cabeceras, procese formularios multipart detrás de un proxy o reutilice procesos con CGI::Carp. Si no se puede actualizar de inmediato, el aviso contiene mitigaciones para fallos concretos, pero no una regla única que cubra todo el conjunto. Veinte CVE no son veinte tickets para cerrar a ciegas: la primera tarea es identificar qué código se está ejecutando.
Diccionario de la Crew
CVE — Identificador público asignado a una vulnerabilidad concreta; el número no indica por sí solo gravedad ni explotación.
Request smuggling — Técnica que aprovecha diferencias entre componentes al delimitar o interpretar una petición HTTP.
Denegación de servicio (DoS) — Interrupción o degradación de un servicio al agotar recursos o impedir que procese solicitudes legítimas.
XSS — Inyección de contenido activo en una página que el navegador de otra persona interpreta como código.


