Sploitus

Exploit for AFD

kitploit · 2026-09-04

Exploit Code

MARKDOWN26 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-VPORTAL-AFD
# AFD

CVE-2022-24494

Уязвимость представляет собой произвольное чтение памяти. Корневая причина — отсутствие проверки адреса памяти, поступающего из пользовательского режима, который используется в операции memcpy для копирования данных из этого адреса памяти в пул памяти. Отсутствие проверки находится по адресу Afd!AfdTliIoControl+0x40B

![Image](https://assets.kitploit.com/production/public/readmes/34127/93aa9df5a9d46ac9c04d96219fe56867930d7a193729b33141941e0454279b5b.png)

Как видно на скриншоте выше, адрес памяти из пользовательского режима копируется из InputBuffer+0x20 первый раз с правильной проверкой через MmUserProbeAddress, находится ли адрес памяти в пространстве адресов пользовательского режима. Однако второй раз этот же адрес памяти копируется из InputBuffer+0x20 в регистр RAX, но на этот раз без надлежащей проверки адреса памяти с помощью MmUSerProbeAddress. Из-за отсутствия проверки можно указать произвольный адрес ядра. Позже этот адрес копируется в выделение памяти пула (тег: AfdL) с помощью операции memcpy, как показано ниже в AfdTliIoControl+0x5AB:

![Image](https://assets.kitploit.com/production/public/readmes/34127/dc4f2bd78cf65a1c8a9ff9d65ae8565f8ffdd4ccefcdafdcfec00b14990844d2.png)

PoC ниже показывает адрес ядра, переданный из пользовательского режима (0xffffffdeadbeef01)

![Image](https://assets.kitploit.com/production/public/readmes/34127/67335b6c46caae52f32d2a0ea877b6e3feff9ca25c7258f36f959979c9f5ea7e.png)

Драйвер пытается прочитать по этому недопустимому адресу памяти, что приводит к BSOD:

![Image](https://assets.kitploit.com/production/public/readmes/34127/a7adde63d6d8605a2ef307c8d293047b77955e0508d31b0d04a902f2aace4148.png)

Значение, скопированное в указатель dst в операции memcpy, позже передаётся драйверу tcpip.sys. Я не углублялся в то, какие внутренние объекты затрагиваются и можно ли утечь память из пользовательского режима, вызывая API, которые могут получить данные из этих потенциальных внутренних объектов.

Microsoft несколько месяцев спустя опубликовала исследование, в котором рассказывается о потенциальном влиянии подобных уязвимостей (произвольное чтение памяти) на повышение привилегий (EoP):

https://msrc-blog.microsoft.com/2022/03/22/exploring-a-new-class-of-kernel-exploit-primitive/