Vercel Next.js — Parches de emergencia para fallas críticas de RCE y denegación de servicio (CVE-2026-96889)
Fecha de publicación: 15 de octubre de 2026
Categoría: Vulnerability / Web Security
Introducción
Vercel ha publicado una actualización de seguridad fuera de banda para el framework Next.js con el fin de solucionar múltiples vulnerabilidades de seguridad de alta gravedad. Entre los fallos corregidos se encuentran dos vectores independientes de ejecución remota de código (RCE) sin autenticación y una vulnerabilidad de denegación de servicio (DoS). Los componentes afectados incluyen React Server Components mediante la característica de caché y la librería de procesamiento gráfico librsvg integrada a través del paquete sharp. El reporte inicial y la identificación de las fallas involucran múltiples avisos de seguridad coordinados por desarrolladores y mantenedores de paquetes afectados.
¿Qué es la vulnerabilidad en librsvg y componentes de caché? (Análisis General)
El ecosistema de desarrollo web moderno depende profundamente de bibliotecas de terceros para la optimización de activos multimedia y el manejo de estados en arquitecturas del lado del servidor. Las vulnerabilidades descubiertas en esta ocasión comprometen componentes críticos de infraestructura web:
- CVE-2026-96889 (Librsvg Use-After-Free): Corresponde a una vulnerabilidad de tipo Use-After-Free (uso después de liberación) en la biblioteca
librsvg(CVSS v3.1: 7.8 - Alto). Vector oficial NVD:CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, clasificación CWE-416. El fallo ocurre cuando la biblioteca procesa documentos SVG que contienen inclusiones XML anidadas (Xincludes) con declaraciones de entidades duplicadas, liberando incorrectamente una entidad XML que aún está activa en el analizador sintáctico. - GHSA-673q-mjm6-r5xr (Ejecución de Código en
use cache): Clasificada por Vercel con una puntuación crítica de 9.5 (estimación razonada basada en evaluación del fabricante). Afecta a aplicaciones App Router con componentes de caché habilitados donde funciones específicas devuelven múltiples matrices tipadas (typed arrays) junto con valores controlados por atacantes. - GHSA-p3m5-59mp-jv5r (Denegación de Servicio en Server Actions): Una falla de denegación de servicio evaluada como de alta severidad que permite a solicitudes maliciosas consumir el 100% de los recursos de CPU en un proceso del servidor.
¿Cómo funciona? (Análisis Técnico)
El mecanismo de explotación de las vulnerabilidades resalta la complejidad de las cadenas de suministro de software y la interacción entre entornos de ejecución de Node.js y bibliotecas nativas:
- Flujo de infección del vector SVG: Un atacante suministra un archivo SVG malicioso diseñado con inclusiones XML recursivas y entidades duplicadas. Si la aplicación procesa este archivo mediante el optimizador (habilitado explícitamente mediante la directiva
dangerouslyAllowSVGo a través denext/ogen entornos Node.js basados en glibc), se desencadena el estado de corrupción de memoria enlibrsvg. - Mecanismos de persistencia y ejecución: El fallo de memoria en
librsvg(rastreado como CVE-2026-96889) puede derivar en condiciones de denegación de servicio o en la ejecución arbitraria de código nativo en el servidor, dependiendo de la dureza de los binarios de Node.js utilizados en el sistema operativo subyacente. - Vectorización en React Server Components: En el caso de la caché, la manipulación de múltiples matrices tipadas dentro de respuestas transportadas permite la inyección de datos que alteran el flujo lógico del servidor en aplicaciones que utilizan
use cache.
Sistemas / Entornos Afectados
Las vulnerabilidades impactan diferentes rangos de versiones de Next.js y dependencias asociadas:
| CVE / ID de Aviso | Categoría (CWE) | Impacto | CVSS | Vector (resumido) / Versiones Afectadas |
|---|---|---|---|---|
| CVE-2026-96889 | CWE-416 (Use-After-Free) | RCE / DoS | 7.8 (NVD) / 9.5 (Vercel) | AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H (Next.js 10.0.0 a 15.5.27 y 16.0.0 a 16.4.0) |
| GHSA-673q-mjm6-r5xr | CWE-94 (Inyección de Código / RCE) | RCE | 9.5 (Estimado) | Next.js 16.0.0 a 16.4.0 (App Router con use cache) |
| GHSA-p3m5-59mp-jv5r | CWE-400 (Consumo de Recursos) | DoS | 7.5 (Estimado) | Next.js 13.0.0 a 15.5.27 y 16.0.0 a 16.4.0 (Server Actions) |
- Plataformas expuestas: Entornos basados en Linux que utilicen
glibccon procesamiento de SVG habilitado y aplicaciones Next.js que implementen Server Actions o componentes de caché avanzados.
Mitigación y Detección
Remediación
- Actualización prioritaria: Los equipos de ingeniería deben actualizar inmediatamente a Next.js versión 16.4.1 (para la rama 16) o 15.5.28 (para la rama 15).
- Verificación de dependencias en rama 15: Al actualizar instalaciones existentes en la versión 15, es posible que el gestor de paquetes mantenga una versión vulnerable de
sharp(0.34.x). Ejecutenpm ls sharpy asegúrese de forzar la actualización asharp0.35.5 o superior. - Mitigación temporal para SVG: Si la actualización no puede realizarse de inmediato, bloquee el procesamiento de SVG en
sharpmediante código de configuración:javascriptsharp.block({ operation: ["VipsForeignLoadSvg"] });
Detección
- Monitoreo de infraestructura: Los analistas de seguridad deben revisar los registros de acceso en busca de solicitudes HTTP anómalas dirigidas a endpoints de optimización de imágenes (
/_next/image) o rutas que invoquen Server Actions con cargas útiles inusualmente grandes. - Auditoría de dependencias: Utilice herramientas de análisis de composición de software (SCA) y comandos de auditoría para identificar versiones desactualizadas de
sharpy componentes de React Server Dom.
Advertencia Operativa: Las vulnerabilidades relacionadas con componentes de caché y Server Actions no generan alertas automáticas estándar en la auditoría tradicional de npm, lo que requiere revisiones manuales del archivo
package.jsony de la versión del framework desplegada en producción.
Recapitulando
El lanzamiento de este parche fuera de banda por parte de Vercel subraya la superficie de ataque crítica expuesta por componentes complejos de renderizado y caché en frameworks web modernos. La presencia de vulnerabilidades de corrupción de memoria en bibliotecas nativas como librsvg y fallas lógicas en React Server Components demuestra la necesidad imperativa de mantener actualizadas tanto las dependencias directas como las bibliotecas transitorias del sistema.
Referencias
- Next.js Security Update - October 14, 2026
- GitHub Security Advisory: GHSA-673q-mjm6-r5xr
- GitHub Security Advisory: GHSA-2464-fhr4-w9xw
- GitHub Security Advisory: GHSA-p3m5-59mp-jv5r
- React Security Advisory: GHSA-xqc2-xf4c-x3h3
- Next.js Image Optimization Documentation
- Netlify Changelog: Next.js and React Security Vulnerabilities
- GitHub Advisory: GHSA-wq5f-xc86-pv6w (Sharp)
- Red Hat Security Advisory: CVE-2026-96889
- NVD - CVE-2026-96889