Vulnerabilità 0-day in Windows 10/Windows Server 2016 – Advanced Local Procedure Call (ALPC) Local Privilege Escalation

Il 27 agosto 2018 il ricercatore di sicurezza noto su twitter con account @SandboxEscaper ha rpubblicato i dettagli di una vulnerabilità di tipo zero day sfruttabile in ambienti Windows che consentirebbe ad un utente locale o ad una applicazione malevola fare Privilege Escalation da locale fino a privilegi system.

@SandboxEscaper ha reso pubblico anche un Proof-of-Concept che ha pubblicato su GitHub nel repository https://github.com/SandboxEscaper/randomrepo che funziona correttamente su ambiente Windows 10 64bit completamente aggiornato.

Anche da Kevin Beaumont, basandosi sulle informazioni fornite da @SandboxEscaper, ha pubblicato un Proof-of-Concept funzionate su Windows 10 e Windows Server 2016 disponibile nel seguente repository di GitHub https://github.com/GossiTheDog/zeroday/tree/master/ALPC-TaskSched-LPE, per maggiori informazioni si veda ache il post di Kevin Beaumont Task Scheduler ALPC exploit high level analysis.

La vulnerabilità è stata confermata da più parti tra cui Will Dormann, analista del CERT/CC, a riguardo si veda il suo post su Twitter I’ve confirmed that this works well in a fully-patched 64-bit Windows 10 system. LPE right to SYSTEM!.

Scendendo nel dettaglio la vulnerabilità riguarda l’API SchRpcSetSecurity dell’interfaccia Advanced Local Procedure Call, nota come ALPC utilizzata dal Microsoft Windows Task Scheduler tramite cui è possibile possibile sfruttare la vulnerabilità in in sistemi Windows 10 e Windows Server 2016 system come riportato nella Vulnerability Note VU#906424: scritta da Will Dormann:

“The Microsoft Windows task scheduler SchRpcSetSecurity API contains a vulnerability in the handling of ALPC, which can allow a local user to gain SYSTEM privileges. We have confirmed that the public exploit code works on 64-bit Windows 10 and Windows Server 2016 systems. We have also confirmed compatibility with 32-bit Windows 10 with minor modifications to the public exploit code. Compatibility with other Windows versions is possible with further modifications.”

L’exploit è stato pubblicato anche su Exploit Database al seguente [EDB-ID: 45280] Microsoft Windows – Advanced Local Procedure Call (ALPC) Local Privilege Escalation

Microsoft è stata messa a conoscenza della problematica ma ancora non sono stati rilasciati aggiornamenti in merito ma come riportato nel post Windows 0-day pops up out of nowhere Twitter Privilege escalation exploit, for which no patch exists, dumped on GitHub pubblicato da The Register ha annunciato di essere al lavoro per risolvere la problematica il prima possibile:

“A Microsoft spokesperson told us it will “proactively update impacted advices as soon as possible.”

A riguardo si veda anche la news Resa pubblica vulnerabilità 0day su Windows 10 64bit pubblicata dal CERT-PA (Computer Emergency Response Team Pubblica Amministrazione).

[Update 01]

La vulnerabilità è stata riconosciuta da Microsoft l’11 settembre 2018 e codificata con l’ID CVE-2018-8440 (a riguardo si veda anche MITRE CVE-2018-8440) e risulterebbero i seguenti sistemi:

  •  Windows 10 32 bit e 64 bit  fino alla versione 1803
  •  Windows 7 SP1 32 bit e 64 bit
  • Windows 8.1 32 bit e 64 bit
  • Windows RT 8.1
  • Windows Server 2008 SP2  32 bit e 64 bit
  • Windows Server 2008 R2 SP1
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server versione 1709 (Server Core)
  • Windows Server versione 1803 (Server Core)

La vulnerabilità non ha fattori di mitigazioni né workaround, ma è stata risolta con gli aggiornamenti di sicurezza rilasciati a Settembre 2018.