mediumCWE-614A02:2021

Cookies Sin Flag Secure

Cookies de sesión configuradas sin el flag Secure, permitiendo que se transmitan por conexiones HTTP no cifradas y sean interceptadas por atacantes en la red.

Cómo Funciona

Una cookie sin `Secure` será enviada por el navegador tanto en requests HTTP como HTTPS. Si un usuario visita la versión HTTP de tu sitio (aunque sea accidentalmente), su cookie de sesión viaja por la red en texto plano. Cualquiera que esté sniffeando la red — en Wi-Fi público o un proxy corporativo — puede capturarla y usarla.

Código Vulnerable
// MAL: cookie de sesión sin flag Secure
res.setHeader('Set-Cookie', `session=${token}; HttpOnly; Path=/`);
Código Seguro
// BIEN: agrega el flag Secure en producción
const isProduction = process.env.NODE_ENV === 'production';
res.setHeader(
  'Set-Cookie',
  `session=${token}; HttpOnly; Path=/; SameSite=Lax${isProduction ? '; Secure' : ''}`
);

Ejemplo Real

Las redes Wi-Fi de hoteles han sido usadas para capturar cookies de sesión desprotegidas de viajeros que usaban apps que servían cookies sin el flag Secure, permitiendo a atacantes secuestrar cuentas.

Cómo Prevenirlo

  • Siempre pon el flag Secure en todas las cookies en producción
  • Usa una librería de cookies (cookie, tough-cookie) que tenga Secure por defecto
  • Habilita Secure condicionalmente basándote en NODE_ENV para que el dev local siga funcionando
  • Combina con HttpOnly y SameSite para defensa en profundidad

Tecnologías Afectadas

nodejsNext.jsPythonPHP

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas