CWE-22 è la categoria di debolezza per bug di traversamento del percorso e manipolazione del percorso. Descrive i casi in cui l'input dell'applicazione influenza un percorso di file senza sufficienti controlli di validazione, normalizzazione o contenimento. Un attaccante può usare nomi costruiti ad arte come sequenze ../, separatori codificati o percorsi assoluti per raggiungere file e directory al di fuori dell'area di archiviazione prevista.
Questo è importante perché il traversamento del percorso può esporre segreti, sovrascrivere configurazioni, eliminare dati o interrompere i servizi. Nelle attacchi reali, il codice vulnerabile è spesso un gestore di upload, un endpoint di download, un estrattore di archivi o una API che memorizza su disco contenuti controllati dall'utente. Le difese includono la risoluzione dei percorsi prima dell'uso, l'applicazione di una directory base inserita in una allowlist, il rifiuto dei separatori pericolosi, l'uso di permessi dei file con il principio del privilegio minimo e il test del traversamento nelle revisioni del codice e nelle scansioni di sicurezza. In pratica, CWE-22 è una causa radice comune dietro bug che trasformano un semplice parametro di nome file in accesso al file system.



