CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-21376

CVE-2025-21376: Remote Code Execution in Windows LDAP Implementation via Race Condition Weakness Chain

Amit Schendel
Amit Schendel
Senior Security Researcher

May 3, 2026·6 min read·21 visits

Executive Summary (TL;DR)

Unauthenticated RCE in Windows LDAP requiring a Machine-in-the-Middle (MITM) position. A race condition triggers an integer underflow, leading to a heap buffer overflow. Patched in February 2025 updates.

CVE-2025-21376 is a high-severity unauthenticated remote code execution (RCE) vulnerability in the Microsoft Windows Lightweight Directory Access Protocol (LDAP) service. The vulnerability relies on a complex weakness chain consisting of a race condition (CWE-362), which triggers an integer underflow (CWE-191), ultimately resulting in a heap-based buffer overflow (CWE-122).

Vulnerability Overview

CVE-2025-21376 is a remote code execution vulnerability located within the Microsoft Windows Lightweight Directory Access Protocol (LDAP) implementation. The LDAP service is a core component of Windows infrastructure, responsible for facilitating directory queries and authentication requests. The vulnerability exposes a critical flaw in how the LDAP service manages concurrent network requests.

The vulnerability is classified as a weakness chain, involving three distinct failure conditions that must occur sequentially. The sequence begins with an improper synchronization of shared resources (CWE-362), leading to state corruption. This corruption subsequently forces an integer underflow (CWE-191) during buffer calculation, which finalizes the chain by causing a heap-based buffer overflow (CWE-122).

Exploitation requires the attacker to operate from a Machine-in-the-Middle (MITM) network position to intercept and modify LDAP traffic. Because of this prerequisite, the CVSS Attack Complexity metric is correctly rated as High (AC:H). Successful exploitation yields arbitrary code execution within the context of the vulnerable LDAP service without requiring authentication or user interaction.

Root Cause Analysis

The root cause of CVE-2025-21376 originates from a race condition (CWE-362) within the LDAP service's concurrent request handling logic. When multiple threads process intercepted or specifically timed LDAP requests and responses, the service fails to enforce proper synchronization over shared memory objects. This absence of mutually exclusive locks allows concurrent threads to read and write to the same state variables simultaneously.

This concurrency failure manifests directly as an integer underflow (CWE-191). The shared state variable, typically an offset tracker or buffer size counter, is decremented by overlapping threads without validation. When the value is decremented below zero, the unsigned integer representation wraps around to its maximum possible value.

The final stage of the weakness chain is the heap-based buffer overflow (CWE-122). The underflowed integer is utilized as the size parameter in a subsequent memory allocation or memory copy operation. The LDAP service attempts to copy a massive amount of data into a finite heap buffer, overwriting adjacent memory structures and corrupting the heap layout.

Code Analysis and Remediation Mechanics

Due to the closed-source nature of the Windows LDAP implementation, the exact vulnerable code path requires conceptual analysis based on the verified weakness chain. The flaw exists in the functions responsible for parsing incoming LDAP Protocol Data Units (PDUs) where state is shared across asynchronous procedure calls. The vulnerable logic fails to lock the context structure before modifying length fields.

// Conceptual representation of the vulnerable state manipulation
void ProcessLdapRequest(LDAP_CONTEXT* ctx, DWORD bytesProcessed) {
    // Vulnerable: No synchronization lock surrounding the state modification
    // If two threads execute this simultaneously, bytesRemaining can underflow
    ctx->bytesRemaining -= bytesProcessed;
    
    // The underflowed value becomes 0xFFFFFFFF (or similar large unsigned integer)
    if (ctx->bytesRemaining > 0) {
        // CWE-122: Heap-based Buffer Overflow occurs here
        memcpy(ctx->buffer, ctx->incomingData, ctx->bytesRemaining);
    }
}

The patched logic introduced in the February 2025 Cumulative Updates remediates the vulnerability by breaking the first link in the chain. The patch introduces proper synchronization primitives, likely utilizing SRWLOCK or similar lightweight locking mechanisms, to ensure atomic operations on the shared context. Additionally, explicit bounds checking is added to prevent integer wrap-around.

// Conceptual representation of the patched state manipulation
void ProcessLdapRequestPatched(LDAP_CONTEXT* ctx, DWORD bytesProcessed) {
    AcquireSRWLockExclusive(&ctx->stateLock);
    
    // Mitigation: Validate bounds before subtraction to prevent underflow
    if (ctx->bytesRemaining >= bytesProcessed) {
        ctx->bytesRemaining -= bytesProcessed;
        memcpy(ctx->buffer, ctx->incomingData, ctx->bytesRemaining);
    } else {
        // Handle error state appropriately
        ctx->bytesRemaining = 0;
    }
    
    ReleaseSRWLockExclusive(&ctx->stateLock);
}

Exploitation Mechanics

Exploiting CVE-2025-21376 requires a sophisticated attack methodology, fundamentally gated by the need for a Machine-in-the-Middle (MITM) position. The attacker must possess the ability to intercept, delay, and inject traffic between a legitimate LDAP client and the target server. This network positioning is necessary to manipulate the timing of LDAP responses and requests to induce the required state collision.

Once the MITM position is established, the attacker must reliably win the race condition. This involves flooding the LDAP service with specific, interleaved requests designed to force multiple worker threads to access the shared request context simultaneously. Winning this race condition is non-deterministic and highly dependent on network latency and server load, contributing to the high attack complexity.

Upon successfully triggering the integer underflow and the subsequent heap overflow, the attacker must control the heap layout to achieve arbitrary code execution. This requires precise memory manipulation to overwrite function pointers, vtables, or structured exception handling (SEH) records adjacent to the overflowed buffer. Currently, there are no publicly available proof-of-concept (PoC) exploits due to these stringent prerequisites.

Impact Assessment

The security impact of a successful CVE-2025-21376 exploitation is severe, granting the attacker arbitrary code execution on the target system. In the context of a Windows Domain Controller, the LDAP service operates with elevated system privileges (NT AUTHORITY\SYSTEM). Compromise of this service directly leads to total domain compromise, allowing the attacker to exfiltrate credential databases (NTDS.DIT) and deploy domain-wide persistence mechanisms.

The CVSS v3.1 vector string is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, resulting in a base score of 8.1. The attack is network-based (AV:N) and requires no privileges (PR:N) or user interaction (UI:N). The confidentiality, integrity, and availability metrics are all evaluated as High due to the comprehensive system access granted by remote code execution.

Despite the high severity, the Exploit Prediction Scoring System (EPSS) calculates a low 1.44% probability of exploitation in the wild within the next 30 days (80.84th percentile). This relatively low probability reflects the prohibitive difficulty of satisfying the MITM requirement and reliably executing a remote heap-based race condition against modern Windows memory mitigations.

Remediation and Mitigation

The primary and most effective remediation for CVE-2025-21376 is the application of the February 2025 Patch Tuesday updates. Organizations must deploy the Latest Cumulative Updates (LCU) to all affected Windows client and server environments. Specific fixed build versions include 10.0.10240.20915 for Windows 10 1507 and 10.0.26100.3194 for Windows 11 24H2 and Windows Server 2025.

If immediate patching is not feasible, organizations can disrupt the prerequisite attack vector by enforcing strict LDAP communication policies. Enabling and enforcing LDAP Signing and LDAP over SSL/TLS (LDAPS) prevents the MITM interception necessary to exploit this vulnerability. These configurations ensure channel binding and cryptographically verify the integrity of the LDAP traffic, rendering state manipulation impossible.

Defense-in-depth measures should include robust network segmentation to restrict LDAP access exclusively to authorized domain controllers and administrative workstations. Additionally, organizations utilizing intrusion prevention systems can deploy signatures, such as Fortinet's IPS Signature ID 57249 (MS.Windows.LDAP.CVE-2025-21376.Remote.Code.Execution), to detect anomalous LDAP traffic patterns indicative of exploitation attempts.

Official Patches

MicrosoftMicrosoft Security Update Guide - CVE-2025-21376

Technical Appendix

CVSS Score
8.1/ 10
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Probability
1.44%
Top 19% most exploited

Affected Systems

Windows 10 (Versions 1507, 1607, 1809, 21H2, 22H2)Windows 11 (Versions 22H2, 23H2, 24H2)Windows Server 2008 (SP2, R2 SP1)Windows Server 2012 (Gold, R2)Windows Server 2016Windows Server 2019Windows Server 2022 (Gold, 23H2)Windows Server 2025

Affected Versions Detail

Product
Affected Versions
Fixed Version
Windows 10
Microsoft
< 10.0.10240.20915 (1507 base)10.0.10240.20915
Windows 11
Microsoft
< 10.0.26100.3194 (24H2 base)10.0.26100.3194
Windows Server 2025
Microsoft
< 10.0.26100.319410.0.26100.3194
AttributeDetail
CWE IDCWE-362, CWE-191, CWE-122
Attack VectorNetwork (MITM Required)
CVSS v3.1 Score8.1 (High)
EPSS Score0.01445 (1.44%)
ImpactRemote Code Execution
Exploit StatusNone (No PoC)
CISA KEVNo

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
T1210Exploitation of Remote Services
Lateral Movement
T1499.002Endpoint Denial of Service: Service Exhaustion
Impact
CWE-362
Concurrent Execution using Shared Resource with Improper Synchronization

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') leading to Integer Underflow and Heap-based Buffer Overflow.

Vulnerability Timeline

Vulnerability disclosed by Microsoft and ZDI.
2025-02-11
CVE-2025-21376 assigned and patches released.
2025-02-11
Technical summaries published by security firms.
2025-02-12
EPSS data updated.
2026-05-02

References & Sources

  • [1]MSRC Advisory CVE-2025-21376
  • [2]CVE.org Record CVE-2025-21376
  • [3]Zero Day Initiative (ZDI) Analysis
  • [4]NVD Detail CVE-2025-21376
  • [5]Fortiguard IPS Encyclopedia ID 57249
  • [6]CrowdStrike Patch Tuesday Blog

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 24 hours ago•GHSA-H5X8-XP6M-X6Q4
7.1

GHSA-H5X8-XP6M-X6Q4: Unvalidated Signature Generation in @jhb.software/payload-cloudinary-plugin

The @jhb.software/payload-cloudinary-plugin exposes an endpoint that performs unvalidated cryptographic signing of Cloudinary API parameters, allowing authenticated users with minimal privileges to forge valid signatures for arbitrary actions. This flaw allows attackers to overwrite remote storage assets, execute unauthorized file uploads, alter asset visibility parameters, trigger SSRF webhooks, and perform directory traversal within Cloudinary repositories.

Alon Barad
Alon Barad
3 views•6 min read
•1 day ago•GHSA-G2GW-Q38M-VJFC
8.7

GHSA-G2GW-Q38M-VJFC: Server-Side Request Forgery and Bearer Token Exfiltration in @merill/lokka

A Server-Side Request Forgery (SSRF) and Bearer Token Exfiltration vulnerability exists in the @merill/lokka (Lokka) Model Context Protocol (MCP) server prior to version 2.1.2. The server constructed Azure Resource Manager request URLs by concatenating user-controlled path parameters directly into destination request strings. By injecting authority-redefinition characters, an attacker can manipulate URL parsing to execute a host-escape attack, forcing the server to send high-privilege Azure Resource Manager (ARM) Bearer tokens to an external attacker-controlled host. This allows complete administrative access to the associated Azure subscriptions.

Alon Barad
Alon Barad
6 views•7 min read
•1 day ago•GHSA-4XGF-CPJX-PC3J
5.3

GHSA-4xgf-cpjx-pc3j: Directory Traversal and Symlink Following in Pydantic Settings

A directory traversal and symlink following vulnerability exists in Pydantic Settings when using the NestedSecretsSettingsSource with nested subdirectory lookups enabled. An attacker capable of writing to the secrets directory can bypass size limitations, read arbitrary host files, or cause a denial-of-service condition via cyclic symlinks.

Amit Schendel
Amit Schendel
2 views•7 min read
•1 day ago•GHSA-H5RG-8P7F-47G2
4.1

GHSA-h5rg-8p7f-47g2: Server-Side Request Forgery (SSRF) in SurrealDB Identity & Access Management (IAM) JWKS Fetcher

A Server-Side Request Forgery (SSRF) vulnerability exists in SurrealDB's Identity & Access Management (IAM) module prior to version 3.1.5. When configuring JSON Web Key Set (JWKS) URLs for token verification, the remote fetcher follows HTTP redirects by default without validating redirect targets against configured network capabilities. This allows high-privileged users to bypass network access limits and perform blind port scanning of internal network resources.

Amit Schendel
Amit Schendel
4 views•6 min read
•1 day ago•GHSA-CC8F-FCX3-GPJR
7.7

GHSA-cc8f-fcx3-gpjr: Arbitrary File Disclosure via DEFINE ANALYZER mapper filter in SurrealDB

A local file disclosure vulnerability exists in SurrealDB's full-text search capabilities, allowing authenticated users with database EDITOR or OWNER roles to read arbitrary files from the host system filesystem. This occurs by abusing the mapper() filter inside a DEFINE ANALYZER statement to point to system files.

Alon Barad
Alon Barad
6 views•6 min read
•1 day ago•GHSA-H4H3-3RFJ-X6FQ
4.3

GHSA-H4H3-3RFJ-X6FQ: Value-Ordering Oracle Side-Channel via Indexed ORDER BY in SurrealDB

SurrealDB versions 3.0.0 through 3.1.4 contain an information exposure vulnerability (CWE-203) where the query planner optimizes sorted queries using indexes on fields with field-level SELECT restrictions. Because the query planner performs index-based sorting before enforcing permission-based redaction, unauthorized users can observe the physical order of returned rows to deduce the relative values of protected fields.

Alon Barad
Alon Barad
4 views•8 min read