
このリポジトリには、Windows の WinSock 用 Ancillary Function Driver(afd.sys)における重大な Use-After-Free(UAF)脆弱性 CVE-2026-68820 の緩和策を示す概念実証パッチが含まれています。
この欠陥が積極的に悪用されると、ローカルの認証済み攻撃者が競合状態を誘発し、実行フローを乗っ取り、SYSTEM 権限へ昇格できる可能性があります。
この脆弱性は、終了フェーズにおけるソケットオブジェクトのライフタイム管理の不備に起因します。脆弱な状態では、afd.sys がコンテキストバッファを解放する際に、ポインタを直ちに NULL 化しません。この間に別のスレッドがソケット状態へアクセスしようとすると、解放済みメモリ(UAF)へアクセスすることになります。
このパッチは、決定的なライフタイム管理モデルを導入します:
KeAcquireSpinLock を実装し、ソケット破棄中の相互排他を保証します。Socket->ContextBuffer = NULL)してから、メモリを解放します。InterlockedDecrement を利用して、すべての参照が破棄された場合にのみ親オブジェクトが破棄されることを保証します。Windows はクローズドソースのオペレーティングシステムです。このコードは、カーネルプールの競合状態を修正するために必要な正確な論理構造と Windows Driver Model(WDM)API 呼び出しを教育的に表現したものです。
MIT ライセンス