
XSS en angular-ui-notification
Todas las versiones de angular-ui-notification son vulnerables a XSS debido a que la librería no sanitiza las entradas proporcionadas por el usuario.
Para usar esta librería de forma segura, se recomienda encarecidamente sanitizar / codificar los parámetros que se le pasan, como en el siguiente ejemplo:
private sanitizeHTML(str: string) {
return str.replace(/[^\w. ]/gi, (c) => `&#${c.charCodeAt(0)};`);
}
Supongamos que la librería ya ha sido importada y actualmente está siendo utilizada por un proyecto. El uso de esta librería podría verse así:
private showNotification(message: string, delay: number, type: NotificationType) {
this.Notification.clearAll();
this.Notification[type]({
message,
delay,
replaceMessage: true
});
}
Si el frontend pasara cualquier entrada del usuario directamente al parámetro message, cualquier etiqueta <script> sería suficiente para realizar un ataque XSS.
Un simple <script>alert(1)</script> sería suficiente.
Xh4H
El proyecto ya no parece estar mantenido, por lo que recomiendo encarecidamente utilizar alternativas mantenidas.