mediumCWE-540A05:2021

Source Maps Expuestos en Producción

Los archivos source map de JavaScript (.map) son públicamente accesibles en producción, revelando el código fuente original completo incluyendo comentarios, nombres de variables y lógica interna.

Cómo Funciona

Los source maps son archivos que mapean JavaScript minificado/bundleado de vuelta al código fuente original. Cuando se dejan accesibles en producción, cualquiera puede descargarlos y reconstruir todo el codebase. Esto revela lógica de negocio, endpoints de API, reglas de validación, flujos de autenticación, valores hardcodeados, comentarios internos y estructura del código. Los atacantes usan esta información para encontrar vulnerabilidades más rápido leyendo el source real en vez de hacer ingeniería inversa de código minificado. Next.js genera source maps por default en builds de producción.

Código Vulnerable
// next.config.js — source maps enabled (default)
module.exports = {
  productionBrowserSourceMaps: true,
  // .map files are now publicly accessible
  // e.g., /_next/static/chunks/pages/admin-a1b2c3.js.map
};
Código Seguro
// next.config.js — disable public source maps
module.exports = {
  productionBrowserSourceMaps: false,
  // Upload source maps to error tracking only
  sentry: {
    hideSourceMaps: true,
  },
};

Ejemplo Real

En 2021, investigadores encontraron que varios sitios web importantes incluyendo plataformas de e-commerce tenían source maps expuestos, revelando árboles completos de componentes React, código de integración de API y lógica de panel admin. Esto dio a los atacantes un mapa para encontrar y explotar vulnerabilidades.

Cómo Prevenirlo

  • Configura productionBrowserSourceMaps: false en next.config.js
  • Sube source maps a Sentry o herramientas similares de forma privada, no pública
  • Agrega *.map a las reglas de denegación de tu CDN o Content-Security-Policy
  • Audita archivos desplegados para asegurar que no haya archivos .map públicamente accesibles

Tecnologías Afectadas

ReactNext.jsNode.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas