Sicherheit

CSP erlaubt 'unsafe-eval'

Üblicher Schweregrad: mittel · Aufwand: mittel

Woran du es erkennst

Die Content-Security-Policy erlaubt 'unsafe-eval' im Skript-Pfad, sodass String-zu-Code-Sinks (eval, new Function, setTimeout('…')) weiterhin ausführbar sind.

Warum es zählt

'unsafe-eval' öffnet eine der klassischsten XSS-Türen wieder: Wird irgendwo Angreifer-Eingabe an eval/new Function übergeben, führt der Browser sie aus — selbst bei ansonsten nonce-basierter, sauberer CSP. Viele DOM-XSS-Gadgets in Libraries hängen genau daran.

So behebst du es

  1. 'unsafe-eval' aus der CSP entfernen und testen (Report-Only-Modus), was tatsächlich bricht.
  2. Betroffene Libraries auf eval-freie Builds umstellen (viele Template-/Expression-Engines bieten eine „CSP-safe"-Variante).
  3. Eigene eval/new Function/String-Timer durch echte Funktionen bzw. JSON.parse ersetzen.

Zum Nachlesen