Sicherheit

postMessage sendet an jede Origin (*)

Üblicher Schweregrad: mittel · Aufwand: gering

Woran du es erkennst

Im ausgelieferten HTML oder Inline-Skript steht postMessage(..., "*") — die Nachricht geht an jedes empfangende Fenster.

Warum es zählt

Mit Zielorigin * kann jede Seite, die das Fenster in der Hand hat (Popup, iframe, opener), die Payload lesen. Tokens, PII und Steuerbefehle wandern so über Origin-Grenzen.

So behebst du es

  1. Den konkreten Ziel-Origin als zweites Argument setzen, niemals *.
  2. Eingehende MessageEvent.origin gegen eine Allowlist prüfen, bevor die Daten verwendet werden.

Zum Nachlesen