La canonicalizzazione del filesystem è il processo di trasformazione di un percorso in una forma esatta e normalizzata prima che un programma vi faccia affidamento. Un percorso canonico risolve elementi come .., separatori duplicati, collegamenti simbolici e riferimenti relativi, così che il software possa confrontare la destinazione reale invece del testo fornito dall'utente.
Questo è importante perché gli aggressori spesso nascondono payload di traversal all'interno di percorsi che, a prima vista, sembrano innocui. Se un'applicazione controlla una stringa grezza come org/../hooks senza canonicalizzarla, la richiesta può uscire dalla directory prevista e sovrascrivere file sensibili. Nelle software server, questo può portare a perdita di dati, abuso di privilegi o esecuzione di codice tramite posizioni scrivibili come le directory degli hook. I difensori usano la canonicalizzazione insieme a liste di autorizzazione, controlli sulla directory base e test di contenimento del percorso per assicurarsi che la destinazione risolta rimanga all'interno dell'albero previsto.


