
una demostración PoC para CVE-2022-21877 (fuga de memoria del controlador de espacios de almacenamiento)
Este repositorio contiene un POC para el CVE-2022-21877, encontrado por Quang Linh, trabajando en STAR Labs. Se trata de una fuga de información encontrada dentro del controlador spaceport.sys.
Se puede encontrar una publicación de blog adjunta en esta dirección.
Para compilar el POC, simplemente ejecute .\build.
Para ejecutarlo, necesita un pool en su máquina que pueda obtener un Tier. En mis pruebas, esto significa tener al menos dos pools de almacenamiento, el primordial y otro. Todo esto porque el pool primordial no puede tener un Tier adjunto.
Para obtener la configuración necesaria, puede configurar 3 discos virtuales en una máquina virtual. Estos serán utilizados automáticamente como el pool primordial por Microsoft. Luego puede reiniciar, agregar otros dos discos virtuales. Luego puede crear el segundo pool con el siguiente comando, como administrador:
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
Una vez que todo esté listo, ejecute el POC como administrador proporcionándole el "FriendlyName" del pool utilizable (por ejemplo, el que acaba de crear).
Este POC permite filtrar datos no controlados ubicados más allá del búfer del sistema. Como se explicó en la publicación del blog, no pude desencadenar una fuga controlada de un objeto de kernel determinado. Así es como se ve:
