CVE-2026-18540 in Undici
Resumen
por VulDB • 2026-09-05
El interceptor de reintento (retry interceptor) de undici puede anexar el cuerpo de una respuesta con reintentos por rangos a los bytes ya entregados desde una respuesta parcial anterior, mientras sigue presentando el estado y las cabeceras originales de la respuesta. Esto ocurre cuando un servidor upstream entrega parte del cuerpo sin un punto de reinicio (resume checkpoint) confiable, por ejemplo, una respuesta no exitosa cuyas cabeceras ya se han enviado o una respuesta partial-content con un rango de contenido inutilizable, luego cierra la conexión y responde a la solicitud de rango reanudado con más bytes. Como resultado, el cuerpo de la respuesta puede ser más largo que el Content-Length que observa la aplicación. Una aplicación que reenvía dicha respuesta a un par HTTP/1.1 downstream sin normalizar el enmarcado (framing) puede emitir un cuerpo que exceda el Content-Length reenviado, y los bytes excesivos pueden interpretarse como el inicio de una siguiente respuesta, lo que permite la división o desincronización de respuestas downstream. La explotación requiere un servidor upstream controlado por el atacante y una aplicación que reenvía la respuesta a través de una ruta sensible al enmarcado (framing-sensitive). Esto afecta a las versiones de undici anteriores a 6.28.1, desde 7.0.0 hasta 7.29.1, y desde 8.0.0 hasta 8.10.2. Los usuarios deben actualizar a undici 6.28.1, 7.29.1 u 8.10.2.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.