Vulnerabilità di sicurezza in Zone Alarm
Se sul PC è installato il firewall Zone Alarm, alla partenza di Windows il servizio vsmon.exe (eseguito nell´ambito degli account locali) carica 18 librerie di collegamento dinamico (dll), riportate di seguito:
VSUTIL_Loc0409_Oem8701.dll
VSUTIL_Oem8701.dll
VSUTIL_Loc0409.dll
vsmon_Loc0409_Oem8701.dll
vsmon_Oem8701.dll
vsmon_Loc0409.dll
VSRULEDB_Loc0409_Oem8701.dll
VSRULEDB_Oem8701.dll
VSRULEDB_Loc0409.dll
av_Loc0409_Oem8701.dll
av_Oem8701.dll
av_Loc0409.dll
zlquarantine_Loc0409_Oem8701.dll
zlquarantine_Oem8701.dll
zlquarantine_Loc0409.dll
zlsre_Loc0409_Oem8701.dll
zlsre_Oem8701.dll
zlsre_Loc0409.dll
Il problema consiste nel fatto che vsmon.exe non specifica il percorso dei files. Il sistema, pertanto, esegue una scansione di tutte le directory nel path (in ordine) alla ricerca di tali dll. Ciò rende l´intero sistema vulnerabile.
Se un utente con credenziali limitate, infatti, ha accesso in scrittura a una qualunque delle directory del path che precedono in priorità la directory ove si trovano i files legittimi, vi può aggiungere una dll avente lo stesso nome di una qualunque presente nella lista, ma che esegue un´azione dannosa. Questa eventualità, tra l´altro, non è affatto remota: si pensi solo che Windows 2000 concede in default l´accesso illimitato a qualunque utente alla root directory, che ovviamente è presente nel path e precede quasi tutte le altre directory.
Come esempio di ciò che può succedere riportiamo i codici seguenti. Per verificare il bug si compili il seguente codice (ATTENZIONE: nel codice si sostituisca ai simboli « e » rispettivamente un solo segno di minore e un solo segno di maggiore, e si sostituiscano i 2 caratteri || con un solo backslash)
Leggere attentamente