Vulnerabilidad en nuxt-api-party (CVE-2023-49799)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-918
Falsificación de solicitud en servidor (SSRF)
Fecha de publicación:
09/12/2023
Última modificación:
13/12/2023
Descripción
`nuxt-api-party` es un módulo de código abierto para enviar solicitudes de API. nuxt-api-party intenta comprobar si el usuario ha pasado una URL absoluta para evitar el ataque antes mencionado. Esto se cambió recientemente para usar la expresión regular `^https?://`; sin embargo, esta expresión regular se puede omitir mediante una URL absoluta con espacios en blanco al principio. Por ejemplo `\nhttps://whatever.com` que tiene una nueva línea inicial. Según la especificación de recuperación, antes de realizar una recuperación, la URL se normaliza. "Para normalizar una secuencia de bytes de valor potencial, elimine los bytes de espacio en blanco HTTP iniciales y finales de valor potencial". Esto significa que la solicitud final se normalizará en `https://whatever.com` sin pasar por la verificación y nuxt-api-party enviará una solicitud fuera de la lista blanca. Esto podría permitirnos filtrar credenciales o realizar Server-Side Request Forgery (SSRF). Esta vulnerabilidad se ha solucionado en la versión 0.22.1. Se recomienda a los usuarios que actualicen. Los usuarios que no puedan actualizar deben volver al método anterior para detectar URL absolutas.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:johannschopplich:nuxt_api_party:*:*:*:*:*:node.js:*:* | 0.21.3 (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://fetch.spec.whatwg.org/
- https://fetch.spec.whatwg.org/#http-whitespace-byte
- https://github.com/johannschopplich/nuxt-api-party/blob/777462e1e3af1d9f8938aa33f230cd8cb6e0cc9a/src/runtime/server/handler.ts#L31
- https://github.com/johannschopplich/nuxt-api-party/security/advisories/GHSA-3wfp-253j-5jxv
- https://infra.spec.whatwg.org/#byte-sequence