La sanitizzazione del DOM è il processo di pulizia dell'HTML prima che venga inserito nel Document Object Model (DOM) di una pagina web. Il suo obiettivo è rimuovere tag pericolosi, gestori di eventi, attributi eseguibili e markup malformato che potrebbero modificare il comportamento della pagina. In pratica, la sanitizzazione aiuta a convertire input non attendibili in testo sicuro o HTML sicuro.
Questo è importante perché molti attacchi, soprattutto il cross-site scripting (XSS), si basano sull'inserimento di markup malevolo in un contesto del browser. Se un sanitizzatore non rileva un attributo, consente un tag non sicuro o viene applicato dopo che il contenuto ha già raggiunto un DOM sink, il codice controllato dall'attaccante può essere eseguito nella sessione della vittima. I difensori usano la sanitizzazione del DOM nei sistemi di commenti, negli editor di testo avanzato, nei crediti delle mappe, nelle app di chat e in altre interfacce che visualizzano contenuti generati dagli utenti. Una buona difesa include anche API DOM sicure, allowlist rigorose, Content Security Policy e Trusted Types, perché la sanitizzazione è solo un livello di protezione.


