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

Vulnerabilidad en @opennextjs/cloudflare de opennextjs (CVE-2026-3125)

Gravedad CVSS v4.0:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/03/2026
Última modificación:
09/03/2026

Descripción

Una vulnerabilidad de falsificación de petición del lado del servidor (SSRF) fue identificada en el paquete @opennextjs/cloudflare, resultante de un bypass de normalización de ruta en el gestor /cdn-cgi/image/. La plantilla de worker @opennextjs/cloudflare incluye un gestor /cdn-cgi/image/ destinado solo para uso en desarrollo. En producción, el edge de Cloudflare intercepta las peticiones /cdn-cgi/image/ antes de que lleguen al Worker. Sin embargo, al sustituir una barra invertida por una barra inclinada (/cdn-cgi\image/ en lugar de /cdn-cgi/image/), un atacante puede eludir la intercepción del edge y hacer que la petición llegue directamente al Worker. La clase URL de JavaScript luego normaliza la barra invertida a una barra inclinada, haciendo que la petición coincida con el gestor y desencadene una obtención no validada de URLs remotas arbitrarias.<br /> <br /> Por ejemplo:<br /> <br /> https://victim-site.com/cdn-cgi\image/aaaa/https://attacker.com<br /> <br /> En este ejemplo, contenido controlado por el atacante de attacker.com se sirve a través del dominio del sitio víctima (victim-site.com), violando la política de mismo origen y potencialmente engañando a usuarios u otros servicios.<br /> <br /> Nota: Este bypass solo funciona a través de clientes HTTP que preservan las barras invertidas en las rutas (p. ej., curl --path-as-is). Los navegadores normalizan las barras invertidas a barras inclinadas antes de enviar las peticiones.<br /> <br /> Además, Cloudflare Workers con Assets y Cloudflare Pages sufren de una vulnerabilidad similar. Los Assets almacenados bajo rutas /cdn-cgi/ no son accesibles públicamente bajo condiciones normales. Sin embargo, utilizando el mismo bypass de barra invertida (/cdn-cgi\... en lugar de /cdn-cgi/...), estos assets se vuelven accesibles públicamente. Esto podría usarse para recuperar datos privados. Por ejemplo, los proyectos Open Next almacenan datos de caché incremental bajo /cdn-cgi/_next_cache, que podrían ser expuestos a través de este bypass.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:opennextjs:opennext_for_cloudflare:*:*:*:*:*:node.js:*:* 1.17.1 (excluyendo)