Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en el analizador HTTP en Node.js (CVE-2018-7159)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-20 Validación incorrecta de entrada
Fecha de publicación:
17/05/2018
Última modificación:
07/11/2023

Descripción

El analizador HTTP en todas las versiones actuales de Node.js ignora los espacios en la cabecera "Content-Length", permitiendo que entradas como `Content-Length: 1 2" se interpreten con un valor de "12". La especificación HTTP no permite los espacios en el valor "Content-Length" y se ha destacado el analizador HTTP de Node.js con respecto a esta diferencia en concreto. El riesgo de seguridad de este error para los usuarios de Node.js se considera MUY BAJO, ya que es difícil (y tal vez imposible) manipular un ataque que haga uso de este error de forma que no se pueda lograr ya proporcionando un valor incorrecto para "Content-Length". Podrían existir vulnerabilidades en el código de usuario que realizan asunciones incorrectas sobre la precisión potencial de este valor comparado con la longitud total de los datos proporcionados. Se recomienda que los usuarios de Node.js que manipulan utilidades HTTP de bajo nivel vuelvan a comprobar la longitud de cualquier entrada proporcionada una vez se ha completado el análisis.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* 4.0.0 (incluyendo) 4.1.2 (incluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:* 4.2.0 (incluyendo) 4.9.0 (excluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* 6.0.0 (incluyendo) 6.8.1 (incluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:* 6.9.0 (incluyendo) 6.14.0 (excluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* 8.0.0 (incluyendo) 8.8.1 (incluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:* 8.9.0 (incluyendo) 8.11.0 (excluyendo)
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* 9.0.0 (incluyendo) 9.10.0 (excluyendo)