flawtrace
← Volver a vulnerabilidades

FT-011 · Security Misconfiguration

Política CSP demasiado permisiva

www.acme.test

Baja · CVSS 3.7

IMPACTO

Qué puede ocurrir

La política permite scripts en línea y orígenes amplios, de modo que una futura inyección de contenido se ejecutaría sin barrera preventiva.

REPRODUCCIÓN

Prueba de concepto paso a paso

  1. 01

    Leer las cabeceras de seguridad

    La política declara unsafe-inline y un comodín en las fuentes de script.

    curl -sI https://www.acme.test/ | grep -i 'content-security-policy'
  2. 02

    Contrastar con un evaluador

    La política no supera el nivel recomendado por falta de nonces y por permitir código en línea.

    curl -s https://csp-evaluator.withgoogle.com/ >/dev/null
    # evaluación manual de la cadena obtenida en el paso anterior
  3. 03

    Comprobar el efecto en una página de prueba

    Un script en línea insertado en el entorno de preproducción se ejecuta sin bloqueo. No se introduce contenido en producción.

Ejecutado dentro de la ventana autorizada, con cuentas creadas para el ejercicio y sin extraer datos reales. Las credenciales aparecen siempre redactadas.

EVIDENCIA SANITIZADA

Cabecera observada

content-security-policy: default-src 'self';
  script-src 'self' 'unsafe-inline' https://*.cdn.example;
  style-src 'self' 'unsafe-inline'

REMEDIACIÓN

Política con nonce por respuesta

Eliminar unsafe-inline, emitir un nonce por respuesta, restringir los orígenes autorizados y vigilar las violaciones con report-to.

const nonce = crypto.randomUUID();
headers.set(
  "content-security-policy",
  `default-src 'self'; script-src 'self' 'nonce-${nonce}'; style-src 'self'; object-src 'none'; base-uri 'none'`
);

CLASIFICACIÓN

Ficha del hallazgo

Severidad
Baja
CVSS v3.1
3.7
CWE
CWE-693
OWASP
A05:2021 · Security Misconfiguration
Validación
Publicado · manual
Activo
www.acme.test

VECTOR

AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N

REFERENCIAS

Material de apoyo