Skip to content
This repository has been archived by the owner on Oct 4, 2024. It is now read-only.

cldflt.sys information disclosure vulnerability (KB5034765 - KB5035853, Win 11).

Notifications You must be signed in to change notification settings

0x00Alchemist/CVE-2024-26160

Repository files navigation

CVE-2024-26160 (cldflt.sys information disclosure vulnerability)

There's small writeup about CVE-2024-26160, what can be found in the February patch (KB5034765, Windows 11 22H2, Windows 11 23H2). The vulnerability has been closed in the March patch (KB5035853).

Analysis

The vulnerability is located in the CldiPortProcessGetRangeInfo function, it does not check for the buffer size passed from the user application. Since the size can be controlled by the user, memmove, which copies the returned information, can grab a neighboring memory pool that contains kernel addresses if the size is correctly passed.

no-check

vuln

The March patch (KB5035853) introduces an additional check for buffer size.

patch

Under normal conditions, the vulnerable function is called when the CfGetPlaceholderRangeInfoForHydration function is called, it contains a fixed size for the returned buffer, so it is necessary to construct a data packet that will reach the vulnerable function call. The call of the required function passes through the CldiPortNotifyMessage function, where all packets, including some specific ones, must be validated.

packet-7

It is important to pass the message type in order to trigger the leak.

call

If the data packet is properly formed, we will see address leakage.

leak

About

cldflt.sys information disclosure vulnerability (KB5034765 - KB5035853, Win 11).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published