
LPE devido a truncamento de inteiro em vskrnlintvsp.sys
você pode encontrar a primeira versão do exploit para esta CVE em https://github.com/MrAle98/CVE-2025-21333-POC/tree/master . Eu fiz este novo exploit inspirado no feito pelo MrAle98. Ele é mais estável e um pouco menos arriscado, pois não abre o processo de sandbox do Windows para obter o GUID. Usei a API do Microsoft Defender Application Guard (MDAG) para obter o GUID do processo de sandbox.
Tentei usar o spray de IoRing como o MrAle98 usou, mas fazer SubmitIoRing de uma só vez após a configuração inicial do IoRing não funcionou para mim, não sei por quê, mas
estava obtendo erro de exceção na função ProbeForWrite dentro da função IopIoRingDispatchRegisterBuffers, que aloca o chunk. Então mudei para tentar o atributo de pipe
e depois queue entry. Consegui leitura arbitrária usando o atributo de pipe, mas novamente o queue entry não estava funcionando para obter a escrita arbitrária, então tive a
ideia de usar IoRing de uma forma diferente, na qual faço o SubmitIoRing e o trabalho de configuração durante o spray, o que funcionou; basta definir a prioridade do thread como time critical.
Fazer spray no PagedPool com tamanho mínimo 0x20 usando a entrada de buffer mc do IoRing é um objeto realmente ótimo. Obrigado, MrAle98, por isso.
você pode ler o blog dele aqui: blog
msrc: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-21333