El 29 de noviembre de 2025, el equipo de seguridad de Vercel, encabezado por Talha Tariq (CISO), comunicó oficialmente la existencia de la vulnerabilidad crítica CVE‑2025‑55182, apodada React2Shell. Esta falla afecta a React Server Components y Next.js, permitiendo ejecución remota de código (RCE) sin autenticación. La severidad es máxima (CVSS 10) y ya existen exploits públicos. Vercel bloqueó nuevas implementaciones vulnerables y recomendó actualizar de inmediato a versiones parcheadas.
🔎 El problema real para los usuarios
Actualizar no siempre es tan simple. En entornos reales encontramos:
Next.js 16.0.3 → vulnerable.
Next.js 13.5.11 → obsoleto, dependencias rotas.
Conflictos npm: errores ERESOLVE unable to resolve dependency tree.
Paquetes obsoletos: referencias a @next/swc@13.5.11 que ya no existen.
Turbopack: experimental, incompatibilidades con Auth0 v4.13.2.
Tailwind: utilidades en globals.css no soportadas.
Auth0: API v3 deprecada, API v4 requiere rutas individuales y migración a proxy.ts.
🛠️ Vías de solución
Actualización directa con --legacy-peer-deps
bash
rm -rf node_modules package-lock.json
npm install next@16.0.7 react@19.0.1 react-dom@19.0.1 --legacy-peer-deps
✔ Rápida, mantiene proyecto actual. ✘ Puede arrastrar dependencias obsoletas.Mantener React 18
bash
npm install next@16.0.7 react@18.3.1 react-dom@18.3.1 --legacy-peer-deps
✔ Menos conflictos. ✘ No aprovecha mejoras de React 19.Migración limpia
bash
npx create-next-app@latest proyecto_seguro
cd proyecto_seguro
npm install next@16.0.7 react@19.0.1 react-dom@19.0.1
✔ Entorno moderno y seguro. ✘ Requiere migrar manualmente el código.Desactivar Turbopack y usar Webpack
js
// next.config.js
const nextConfig = {
webpack: (config) => config,
};
module.exports = nextConfig;
✔ Estabilidad con librerías críticas. ✘ Pierde mejoras experimentales.Ajustes específicos
Tailwind: aplicar clases en JSX/TSX, no en globals.css.
Auth0: usar API v4 con rutas individuales (login.ts, logout.ts, callback.ts, me.ts).
Middleware: migrar de middleware.ts a proxy.ts.
📊 Conclusiones
React2Shell es crítica y ya explotada.
La migración no es trivial: conflictos y dependencias obsoletas complican el proceso.
Documentar cada paso es esencial para reproducibilidad y seguridad.
La comunidad necesita guías oficiales claras.
📌 Cierre institucional
“Desde REMI‑IA ponemos a disposición nuestra experiencia en entornos portátiles y demos patrimoniales para ofrecer una solución humilde pero práctica. Hemos documentado cada paso y proponemos alternativas viables para que la comunidad supere esta vulnerabilidad crítica.”
Equipo REMI‑IA 📧 Contacto:
jramonrivasg@gmail.com
jramonrivasg@proton.me
🔗 Enlace:
X (Twitter): https://x.com/jramone3
Top comments (0)