Apr 16, 2026·7 min read·1293 visits
A TOCTOU race condition in Microsoft Defender's signature update process allows local attackers to exploit filesystem junctions and RPC calls to elevate privileges to SYSTEM. The exploit, known as BlueHammer, facilitates arbitrary file operations and credential dumping.
CVE-2026-33825, publicly referred to as BlueHammer, is a high-severity local privilege escalation vulnerability within the Microsoft Defender Antimalware Platform. The flaw stems from insufficient access control granularity and a Time-of-Check to Time-of-Use (TOCTOU) race condition during signature updates, enabling a standard user to obtain NT AUTHORITY\SYSTEM privileges.
Microsoft Defender Antimalware Platform provides core endpoint protection capabilities for the Windows operating system. A critical component of this architecture is the signature update mechanism and associated Remote Procedure Call (RPC) interfaces. These interfaces allow the system to dynamically process definition updates and perform remediation operations on identified threats.
The update engine, primarily managed by the executable MpSigStub.exe, operates with NT AUTHORITY\SYSTEM privileges. This elevated context is necessary for the engine to apply system-wide security policies and modify protected directories during the update process.
CVE-2026-33825 is a local privilege escalation vulnerability rooted in how this privileged process handles file operations. The vulnerability is classified under CWE-1220, representing an insufficient granularity of access control. The system fails to securely validate target paths when performing file operations within user-writable namespaces.
Standard local users can interact with the Defender RPC interface to initiate definition updates or file restoration tasks. Because the target directory structures can be manipulated by unprivileged users, an attacker can leverage this execution flow to force the SYSTEM process into operating on unintended files.
The fundamental flaw in CVE-2026-33825 is a Time-of-Check to Time-of-Use (TOCTOU) race condition within the file restoration and signature update logic of MpSigStub.exe. The update process performs a sequence of distinct operations: it resolves a target path, verifies the security context of the directory, and subsequently writes or moves temporary update files into that directory.
During signature deployment, these temporary files are occasionally placed in predictable directories or paths that are inherently user-controllable. The Defender Antimalware Service exposes RPC endpoints that allow local processes to request specific file-handling actions. When an unprivileged user triggers these RPC calls, the service handles the request asynchronously.
The critical error occurs because the SYSTEM process fails to enforce strict impersonation or file locking during the entire I/O operation sequence. It evaluates the path security context once at the beginning of the transaction. It does not lock the directory or validate the final reparse point immediately prior to the write or move operation.
This execution window between the security check and the file operation provides a viable attack surface. A local attacker can manipulate the directory structure during this narrow timeframe. By swapping the legitimate target directory with an Object Manager symbolic link or filesystem junction point, the attacker redirects the subsequent elevated file operation to a destination of their choosing.
The vulnerability relies on the structural separation between path validation and execution. In the vulnerable state, MpSigStub.exe utilizes standard Win32 API calls that resolve reparse points implicitly. The process fails to verify if the file attributes have changed since the initial access check.
The patched implementation introduces robust directory handle locking and strict path resolution checks. The updated code enforces impersonation of the calling user when resolving paths in user-writable spaces. This prevents the SYSTEM process from accessing paths that the requesting user does not natively have permission to open.
The following pseudo-code illustrates the vulnerable implementation compared to the secure, patched implementation. The vulnerable function performs an insecure file copy without verifying the underlying object type.
// Vulnerable Implementation (Pseudo-code)
BOOL ProcessUpdateFile(LPCWSTR src, LPCWSTR destDir) {
// Path is checked but not locked
if (VerifyPathSecurity(destDir)) {
// Attacker swaps destDir here via Oplocks
WCHAR destFile[MAX_PATH];
PathCombine(destFile, destDir, L"update.tmp");
// Executes as SYSTEM, follows symlink implicitly
return MoveFile(src, destFile);
}
return FALSE;
}
// Patched Implementation (Pseudo-code)
BOOL ProcessUpdateFileSecure(LPCWSTR src, LPCWSTR destDir) {
// Open directory with sharing disabled to prevent swapping
HANDLE hDir = CreateFile(destDir, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (hDir == INVALID_HANDLE_VALUE) return FALSE;
// Verify no reparse points exist in the resolved path
if (ContainsReparsePoint(hDir)) {
CloseHandle(hDir);
return FALSE;
}
// Proceed with secure file operation using the verified handle
// ...
}Exploitation of BlueHammer requires the attacker to possess standard local user privileges and the ability to execute arbitrary code on the target system. The attack chain systematically combines Microsoft Defender RPC abuse with advanced filesystem manipulation techniques.
The attacker initiates the exploit by monitoring the Windows Update metadata for Defender signature updates or explicitly triggering an update via the RPC interface. The exploit binary creates a standard filesystem junction pointing to a benign temporary directory. The attacker registers an Opportunistic Lock (Oplock) on this directory using the Cloud Files API.
When MpSigStub.exe accesses the directory to write temporary update files, the Oplock triggers. This mechanism pauses the SYSTEM-level execution thread precisely at the boundary of the TOCTOU window. While the privileged thread is suspended, the attacker script deletes the benign junction and replaces it with an Object Manager symbolic link.
This symbolic link is crafted to point to a protected system resource, such as C:\Windows\System32\config\SAM. Once the substitution is complete, the attacker releases the Oplock. The MpSigStub.exe thread resumes execution, follows the newly created symbolic link, and inadvertently copies or moves the protected file into an attacker-readable location.
A successful BlueHammer exploit guarantees Local Privilege Escalation (LPE) to the NT AUTHORITY\SYSTEM account. This constitutes a total compromise of the local host security boundary. The attacker bypasses all standard user access controls and assumes the highest level of administrative privilege available on the Windows operating system.
The primary objective of the public BlueHammer Proof-of-Concept (PoC) is credential extraction. By targeting the Security Account Manager (SAM) and SYSTEM registry hives, the attacker forces the Defender process to duplicate these locked files into a user-accessible directory.
To circumvent standard file access violations that protect the SAM hive while the OS is running, the exploit chains the Volume Shadow Copy Service (VSS). The manipulation of the update process forces VSS to snapshot the sensitive files. The attacker retrieves the NTLM password hashes from the duplicated hives via offline extraction techniques.
With extracted credentials or direct SYSTEM execution, the operational impact extends beyond the local host. An attacker can persistently disable endpoint detection agents, deploy secondary payloads, and utilize the compromised host to pivot laterally within an Active Directory environment.
The definitive remediation for CVE-2026-33825 is the deployment of the Microsoft Defender Antimalware Platform update version 4.18.26030.3011, released during the April 2026 Patch Tuesday cycle. System administrators must ensure this update is pushed to all endpoints via Windows Update, WSUS, or their preferred endpoint management solution.
Administrators can verify the successful application of the patch by interrogating the engine version. This verification is performed using the PowerShell cmdlet Get-AppxPackage -Name Microsoft.Windows.Defender | Select Version. Alternatively, the engine version is displayed in the Windows Security interface under the 'Virus & threat protection settings' about page.
In environments where immediate patching is administratively delayed, defensive hardening provides partial mitigation. Administrators should audit and restrict the 'Create symbolic links' user right assignment via Group Policy. Revoking this privilege from standard users neutralizes the core primitive required by the BlueHammer exploit.
Endpoint Detection and Response (EDR) teams should implement behavioral monitoring rules. Detection logic must flag MpSigStub.exe or MsMpEng.exe processes performing anomalous file reads or writes in user-profile directories. Security controls should generate alerts for the creation of Object Manager symbolic links targeting the \Device\HarddiskVolumeShadowCopy namespace.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H| Product | Affected Versions | Fixed Version |
|---|---|---|
Microsoft Defender Antimalware Platform Microsoft | 4.0.0.0 - < 4.18.26030.3011 | 4.18.26030.3011 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-1220 (Insufficient Granularity of Access Control) |
| Attack Vector | Local (AV:L) |
| CVSS v3.1 | 7.8 (High) |
| Impact | Local Privilege Escalation to SYSTEM |
| Exploit Status | Weaponized PoC Available |
| Affected Component | Microsoft Defender (MpSigStub.exe) |
The system grants privileges or permissions that are broader than what is strictly necessary to perform an operation, increasing the potential impact of a compromise.
CVE-2026-55854 identifies a critical security flaw in the MariaDB Connector for Node.js (mariadb npm package). When establishing connections, the driver fails to validate transport security requirements during Pluggable Authentication Modules (PAM) dialog authentication. This vulnerability allows active on-path attackers or malicious database servers to coerce the client driver into transmitting user credentials in cleartext over unencrypted TCP connections.
An integer overflow vulnerability (CWE-190) exists in klever-go, the Go implementation of the Klever blockchain protocol, within the Semi-Fungible Token (SFT) addition path. An attacker with a mint role can exploit this by passing an extremely large positive value when adding SFT quantity, which overflows a signed 64-bit integer. This bypasses the maximum supply checks and allows minting arbitrary tokens while corrupting the state.
A high-severity log evasion and tampering vulnerability in Graylog's FortiGate key-value syslog parser allows unauthenticated remote attackers to modify, delete, or overwrite critical security log fields, potentially bypassing security controls and monitoring systems.
An Insecure Direct Object Reference (IDOR) vulnerability exists within the access-token revocation endpoint of Graylog. Authenticated users can exploit this flaw to delete access tokens belonging to other users, including high-privileged administrator accounts, thereby disrupting active integrations and API access.
An improper authorization vulnerability in SeaweedFS versions 4.08 through 4.33 allows authenticated, low-privileged users to bypass directory isolation and perform unauthorized metadata operations within S3Tables and Iceberg REST interfaces. The vulnerability arises from an automatic collapse of account-less static identities to the default administrative principal, combined with a fail-open default policy configuration and self-referential authorization parameters in the table bucket listing routines. Together, these logical flaws expose administrative configurations and namespace architectures to unprivileged actors. The issue is resolved in version 4.34 by enforcing capability-based access checks, isolating fallback modes, and performing granular access verification on target buckets.
A critical path traversal vulnerability (CVE-2026-55874) in the SeaweedFS S3 API Gateway prior to version 4.34 allows authenticated remote attackers with write access to at least one bucket to bypass isolation. By supplying crafted directory traversal sequences in the X-Amz-Copy-Source header, an attacker can read objects from arbitrary buckets on the same deployment.