CWE-Referenz › CWE-1022: Use of Web Link to Untrusted Target with window.opener Access
CWE-1022: Use of Web Link to Untrusted Target with window.opener Access
CWE ID: 1022
Name: Use of Web Link to Untrusted Target with window.opener Access
Beschreibung
Die Webanwendung generiert Links zu nicht vertrauenswürdigen externen Seiten außerhalb ihres Einflussbereichs, verhindert aber nicht ausreichend, dass die externe Seite sicherheitskritische Properties des window.opener Objekts, wie beispielsweise die location Property, modifiziert.
Erweiterte Beschreibung
Wenn ein Nutzer auf einen Link zu einer externen Seite (“target”) klickt, bewirkt das Attribut target="_blank", dass der Inhalt der Zielseite in einem neuen Fenster oder Tab geöffnet wird, welches im selben Prozess wie die ursprüngliche Seite läuft. Das window.opener Objekt speichert Informationen über die ursprüngliche Seite, die den Link angeboten hat. Sollte ein Angreifer Script auf der Zielseite ausführen können, so kann er bestimmte Properties des window.opener Objekts lesen oder modifizieren, einschließlich der location Property – selbst wenn die ursprüngliche und die Zielseite unterschiedliche Origins haben. Ein Angreifer kann die location Property modifizieren, um den Nutzer automatisch zu einer bösartigen Seite umzuleiten, beispielsweise im Rahmen eines Phishing-Angriffs. Da diese Umleitung im ursprünglichen Fenster/Tab stattfindet – welches möglicherweise nicht sichtbar ist, da der Browser die Anzeige auf die neue Zielseite fokussiert – bemerkt der Nutzer möglicherweise keine verdächtige Umleitung.
Risikominderungsmaßnahmen
Maßnahme (Architecture and Design)
Effektivität: Unknown
Beschreibung: Es ist im Design festzulegen, dass jedes verlinkte externe Dokument keinen Zugriff auf das location Objekt der aufrufenden Seite erhalten darf.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-1022: Use of Web Link to Untrusted Target with window.opener Access werden von Angreifern gezielt gesucht — meist automatisiert und ohne Rücksicht darauf, wie groß das betroffene Unternehmen ist. Ob eine solche Lücke bei Ihnen tatsächlich offen steht, lässt sich nur durch Prüfung feststellen:
- Schwachstellen-Scan — wiederkehrende Prüfung Ihrer Infrastruktur auf bekannte Lücken wie diese
- Penetrationstest — manuelle Prüfung eigener Software auf Schwachstellen, die kein Werkzeug findet
- Threat Modeling — Schwachstellenklassen im Entwurf vermeiden, statt sie später zu suchen