Skip to content

Commit f77b7b1

Browse files
committed
1 parent 4ee4cde commit f77b7b1

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/content/breakdowns/CVE-2025-55680.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "CVE-2025-55680 - Windows Cloud Files Mini Filter Driver Elevation of Privilege Vulnerability"
3-
pubDate: 2025-04-28
3+
pubDate: 2025-12-01
44
author: "Ghostbyt3"
55
tags: ["1day", "cldflt.sys", "windows", "kernel"]
66
description: "A vulnerability in Windows Cloud Files Mini Filter Driver arises from mapping user-controlled buffers into kernel space and relying on them for both path validation and file creation. By racing a single-byte change in the shared buffer between these steps, an attacker can bypass validation and create arbitrary files in System32 via a junction, enabling SYSTEM-level privilege escalation through DLL hijacking."
@@ -139,11 +139,13 @@ Before calling `HsmFltProcessCreatePlaceholders()` function, it checks if the in
139139
140140
#### **HsmFltProcessCreatePlaceholders()**
141141
142-
![image.png](/img/cve-2025-55680/image%204.png)
143142
144-
- It checks the user input buffer size (1️⃣) and moving on it calls `HsmpRelativeStreamOpen()` function (2️⃣) which verifies the directory provided in `BaseDirectoryPath` (member of **`CfCreatePlaceholders()`** function) is a registered sync root and check permissions and returns a handle.
143+
- The function checks the user input buffer size (1️⃣) and and it calls `HsmpRelativeStreamOpen()` function (2️⃣) which verifies the directory provided in `BaseDirectoryPath` (member of **`CfCreatePlaceholders()`** function) is a registered sync root and check permissions and returns a handle.
145144
- Finally, it calls (3️⃣) the vulnerable function `HsmpOpCreatePlaceholders()` with the user buffer, also with the sync root directory handle.
146145
146+
![image.png](/img/cve-2025-55680/image%204.png)
147+
148+
147149
**HsmpOpCreatePlaceholders()**
148150
149151
The `CREATE_PLACEHOLDER_STRUCT` structure is `Payload` here and first it calls `IoAllocateMdl()` to allocates a memory descriptor list (MDL) large enough to map a buffer, this is to map the user space buffer to kernel space.

0 commit comments

Comments
 (0)