
XSS in angular-ui-notification
Alle Versionen in angular-ui-notification sind anfällig für XSS, da die Bibliothek die vom Benutzer bereitgestellten Eingaben nicht bereinigt.
Um diese Bibliothek sicher zu verwenden, wird dringend empfohlen, die an diese Bibliothek übergebenen Parameter zu bereinigen/kodieren, wie zum Beispiel:
private sanitizeHTML(str: string) {
return str.replace(/[^\w. ]/gi, (c) => `&#${c.charCodeAt(0)};`);
}
Angenommen, die Bibliothek wurde bereits importiert und wird derzeit von einem Projekt verwendet. Die Verwendung dieser Bibliothek könnte wie folgt aussehen:
private showNotification(message: string, delay: number, type: NotificationType) {
this.Notification.clearAll();
this.Notification[type]({
message,
delay,
replaceMessage: true
});
}
Wenn das Frontend Benutzereingaben direkt an den Parameter message übergeben würde, wäre ein <script>-Tag ausreichend, um einen XSS-Angriff durchzuführen.
Ein einfacher <script>alert(1)</script> würde ausreichen.
Xh4H
Das Projekt scheint nicht mehr gewartet zu werden, daher empfehle ich dringend, gewartete Alternativen zu verwenden.