CVE-2026-9749 Overview
CVE-2026-9749 is a denial-of-service vulnerability in MongoDB's aggregation pipeline. The flaw resides in the internal $exchange stage when configured with key-range partitioning and order-preserving delivery. When a single key range produces enough documents to fill its exchange buffer, the server reaches a code path where a full per-consumer buffer is detected but the internal high watermark for that key range is not updated as intended. The condition is classified under [CWE-617] (Reachable Assertion). An authenticated attacker with network access can trigger the issue, impacting service availability.
Critical Impact
An authenticated attacker can crash or stall MongoDB query processing by submitting an aggregation pipeline that saturates a single consumer's exchange buffer, resulting in denial of service.
Affected Products
- MongoDB Server (see MongoDB Jira Issue SERVER-124031 for affected version details)
- Deployments using internal aggregation pipeline $exchange stage with key-range partitioning
- MongoDB configurations relying on order-preserving delivery in parallel aggregation
Discovery Timeline
- 2026-06-09 - CVE-2026-9749 published to NVD
- 2026-06-10 - Last updated in NVD database
Technical Details for CVE-2026-9749
Vulnerability Analysis
The vulnerability exists in MongoDB's internal $exchange aggregation stage. This stage distributes documents across parallel consumers based on partitioning strategies. When configured with key-range partitioning and order-preserving delivery, the server tracks a per-key-range "high watermark" to coordinate document flow between producers and consumers.
The flaw triggers when a single key range routes enough documents to one consumer to fill its exchange buffer. The server detects the full buffer condition, but the code path fails to update the high watermark for that key range. This produces a reachable assertion [CWE-617], causing abnormal termination of the query processing logic.
Root Cause
The root cause is a logic error in the buffer management code of the $exchange stage. The high watermark update is skipped on the buffer-full code path, breaking an internal invariant. When the invariant check executes, the server hits an assertion failure rather than gracefully back-pressuring the producer.
Attack Vector
Exploitation requires network access and valid authenticated credentials with permission to run aggregation pipelines. An attacker constructs a pipeline that uses the internal $exchange stage configured with key-range partitioning and order-preserving delivery, then crafts input data that funnels a large number of documents into a single key range. The skewed distribution fills one consumer's buffer and triggers the assertion. The vulnerability impacts availability only — no confidentiality or integrity loss occurs. Refer to MongoDB Jira Issue SERVER-124031 for additional technical context.
Detection Methods for CVE-2026-9749
Indicators of Compromise
- Unexpected mongod process termination or assertion failures referencing the $exchange stage in server logs
- Aggregation pipeline executions with internal stages submitted by non-administrative roles
- Repeated query failures correlated with skewed key distributions in aggregation workloads
Detection Strategies
- Inspect MongoDB server logs for assertion messages and fatal errors tied to exchange buffer or watermark logic
- Audit aggregation pipeline submissions for use of internal $exchange stage parameters
- Correlate authentication events with subsequent query failures to identify suspicious user activity
Monitoring Recommendations
- Enable verbose logging for the query and aggregation subsystems and forward logs to a centralized analytics platform
- Track mongod process restart counts and crash signatures over time
- Alert on aggregation pipelines containing internal-only stage names submitted by application service accounts
How to Mitigate CVE-2026-9749
Immediate Actions Required
- Review MongoDB user privileges and remove unnecessary aggregation execution rights from low-trust accounts
- Apply the patched MongoDB Server release referenced in MongoDB Jira Issue SERVER-124031 as soon as it is available for your version
- Monitor server availability and restart counts to detect exploitation attempts
Patch Information
MongoDB tracks the fix under MongoDB Jira Issue SERVER-124031. Operators should consult the linked ticket for fixed version numbers and upgrade guidance. Apply the vendor-supplied patch through the standard MongoDB upgrade procedure for your deployment topology.
Workarounds
- Restrict aggregation pipeline execution to trusted, least-privileged application accounts
- Place MongoDB endpoints behind network controls that limit exposure to authenticated, internal clients only
- Implement rate limiting and query timeouts at the application or proxy layer to reduce the impact of a triggered assertion
# Configuration example - restrict aggregation privileges
# Connect as an administrative user, then remove broad roles from application accounts
mongosh --authenticationDatabase admin -u admin -p
# Revoke overly permissive roles and grant a narrower built-in role
use admin
db.revokeRolesFromUser("appUser", [ { role: "readWrite", db: "appDB" } ])
db.grantRolesToUser("appUser", [ { role: "read", db: "appDB" } ])
# Enforce query execution limits in mongod.conf
# operationProfiling:
# slowOpThresholdMs: 100
# setParameter:
# internalQueryMaxAllowedTimeMS: 30000
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

