
Prodotto testato: Datacard XPS Card Printer Driver Versione: <= 8.4
Descrizione: L'applicazione è soggetta a una vulnerabilità di escalation dei privilegi locali (LPE) dovuta a permessi non sicuri su file/cartelle nella sua installazione predefinita, tramite cui concede a tutti i diritti di controllo completo sul percorso: C:\ProgramData\Datacard\XPS Card Printer\Service. I file e le cartelle nel percorso "C:\ProgramData\Datacard" possono essere modificati da utenti non privilegiati, processi malevoli e/o attaccanti. Una volta che un amministratore installa XPS Card Printer, che viene eseguito nel contesto SYSTEM, l'installer richiama DEVOBJ.dll o CFGMGR32.dll nella directory "C:\ProgramData\Datacard\XPS Card Printer\Service", dove un utente a bassi privilegi può già aver inserito una DLL malevola in anticipo e che non verrà controllata né eliminata dall'installazione. Queste DLL non esistono e pertanto l'installer dell'applicazione restituirà NOT FOUND. Se un utente malintenzionato inserisce una DLL denominata DEVOBJ.dll o CFGMGR32.dll all'interno di questa directory, il setup eseguirà inavvertitamente queste DLL malevole quando il servizio tenterà di connettersi alla stampante di carte, eseguendole con privilegi SYSTEM.
Exploit POC:
1- Con un utente a bassi privilegi, creare la directory "C:\ProgramData\Datacard\XPS Card Printer\Service" e inserire una DLL desiderata rinominandola in DEVOBJ.dll o CFGMGR32.dll
2- Con un amministratore, procedere all'installazione del driver come di consueto.
3- Il payload DLL verrà eseguito come SYSTEM.