
Этот репозиторий содержит концептуальный патч, демонстрирующий смягчение уязвимости CVE-2026-68820 — критической уязвимости типа Use-After-Free (UAF) в вспомогательном драйвере функций Windows для WinSock (`afd.sys`).
Этот репозиторий содержит концептуальный патч, демонстрирующий смягчение последствий для CVE-2026-68820 — критической уязвимости типа Use-After-Free (UAF) в драйвере вспомогательных функций Windows для WinSock (afd.sys).
Активная эксплуатация этой ошибки позволяет локальному аутентифицированному злоумышленнику вызвать состояние гонки, перехватить поток выполнения и повысить привилегии до SYSTEM.
Уязвимость возникает из-за некорректного управления временем жизни объектов сокетов на этапе завершения работы. В уязвимом состоянии afd.sys освобождает буфер контекста, но не обнуляет указатель немедленно. Если в этом окне параллельный поток попытается получить доступ к состоянию сокета, он обратится к освобождённой памяти (UAF).
Этот патч вводит детерминированную модель управления временем жизни:
KeAcquireSpinLock для обеспечения взаимного исключения во время уничтожения сокета.Socket->ContextBuffer = NULL) и затем освобождает память.InterlockedDecrement, чтобы гарантировать уничтожение родительского объекта только после снятия всех ссылок.Windows — операционная система с закрытым исходным кодом. Этот код представляет собой учебное представление точных логических структур и вызовов Windows Driver Model (WDM) API, необходимых для устранения состояния гонки в пуле ядра.
Лицензия MIT