
débordement de tampon basé sur la pile dans MsIo64.sys, preuve de concept d'élévation de privilèges locale vers nt authority/system
PoC simple pour exploiter CVE-2021-27965 pour une élévation de privilèges locaux (LPE) en lançant cmd système.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27965
Un problème a été découvert dans le pilote Windows signé MICSYS (MsIo64.sys) qui peut conduire à la compromission de l'ensemble du système local. La routine de répartition ioctl du pilote souffre d'un débordement de tampon basé sur la pile dans tous les codes IOCTL et manque également de validation du tampon fourni par l'utilisateur.
N'importe qui peut créer un handle et envoyer des requêtes ioctl à ces codes ioctl qui brisent le modèle de sécurité Windows :
Pour chaque code IOCTL, le pilote n'accède pas directement à Irp->SystemBuffer mais utilise plutôt une fonction de type memcpy pour copier Irp->SystemBuffer dans le tampon de la frame de pile de la fonction courante, qui a toujours une taille fixe (puis utilise ce tampon). Étant donné que Irp->SystemBuffer et Irp->CurrentStackLocation->InputBufferLength sont tous deux contrôlés par le processus appelant, un acteur malveillant pourrait envoyer un tampon suffisamment grand pour déborder celui situé dans la frame de pile de la fonction. À noter : même si DriverEntry contient __security_init_cookie(), __security_check_cookie() est absent de la répartition ioctl pour une raison quelconque.
TODO
TODO