
Exploit di escalation locale dei privilegi per CVE-2025-0886.
Exploit PoC di escalazione dei privilegi locale per CVE-2025-0886 che colpisce Elliptic Virtual Lock Sensor versione 3.1.60531.2 in esecuzione su Windows, installato per impostazione predefinita su alcuni modelli di laptop Lenovo. Consente l'esecuzione di un payload nel contesto di SYSTEM da un contesto utente normale modificando le autorizzazioni su una chiave di registro.
Avviso ufficiale di Lenovo: https://support.lenovo.com/us/en/product_security/LEN-182738
Si prega di leggere le Note prima di utilizzarlo.
git clone --recursive.VirtualLockSensorLPE.exe COMMAND
VirtualLockSensorLPE.exe "cmd /c echo test > C:\Windows\System32\poc.txt"

Le versioni vulnerabili di Elliptic Virtual Lock Sensor utilizzano le seguenti chiavi di registro dove Everyone ha Controllo completo:
HKLM\SOFTWARE\Elliptic Labs\Virtual Lock Sensor\UserSettings\OnBatteryHKLM\SOFTWARE\Elliptic Labs\Virtual Lock Sensor\UserSettings\PluggedInGli utenti normali possono avviare una reinstallazione del software. Se viene creata una sottochiave con "container inherit" abilitato sotto una delle chiavi di registro elencate sopra, e viene poi creato un collegamento di registro sotto quella nuova chiave, a Everyone verrà concesso Controllo completo sulla destinazione di quel collegamento durante la reinstallazione.
La PoC sfrutta la vulnerabilità utilizzando i seguenti passaggi:
a) sotto HKLM\SOFTWARE\Elliptic Labs\Virtual Lock Sensor\UserSettings\PluggedIn dove Everyone ha Controllo completo con "container inherit" (flag "CI") abilitato.b) sotto la sottochiave appena creata (a) che punta a HKLM\SYSTEM\CurrentControlSet\Services\edgeupdate.Everyone ora ha Controllo completo sulla chiave edgeupdate, il valore ImagePath della chiave può essere modificato per puntare a un payload.edgeupdate (Microsoft Edge Update Service) per eseguire il payload nel contesto di SYSTEM.HKLM\SYSTEM\CurrentControlSet\Services\edgeupdate, quindi dovrai farlo manualmente (e ti preghiamo di ricordarlo se stai testando questo su un sistema di produzione).MsiReinstallProductW dovrà probabilmente essere cambiato per avviare la reinstallazione).edgeupdate) per farlo puntare a un payload arbitrario. Questa tecnica ha un paio di limitazioni:
edgeupdate è già in esecuzione quando l'exploit viene eseguito, il payload non verrà eseguito. Attendi un minuto o due ed esegui di nuovo l'exploit.cmd), Windows ne interromperà l'esecuzione dopo un breve periodo.