Mongoose walks into inherited properties when hydrating, setting, and merging, allowing overwrites of built-in functions (denial of…
Mongoose versions before 6.13.12, 7.0.0-7.8.12, 8.0.0-8.24.6, and 9.0.0-9.11.3 are affected, mainly via strict: false schemas. Fixed in 6.13.12, 7.8.13, 8.24.7, and 9.11.4.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- No known exploitation
- Fix
- Fixed in 6.13.12, 7.8.13, 8.24.7, 9.11.4
- Who is exposed
- Not reported
Do first: Upgrade to a fixed version: 6.13.12, 7.8.13, 8.24.7, 9.11.4.
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 25/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Unclear
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Mongoose, a MongoDB object modeling tool for Node.js, has a flaw in how it loads, sets, and merges data that lets attacker-supplied keys overwrite shared built-in functions, which can make later queries on unrelated models fail until the process restarts. An attacker can trigger this remotely, without logging in, by supplying crafted documents or update data.
Read the original description
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.12, 7.8.13, 8.24.7, and 9.11.4, Mongoose can descend into inherited properties while loading database documents in init(), setting dotted paths in $__set, and merging update documents in utils.mergeClone. Attacker-controlled keys such as toString or valueOf can therefore cause Mongoose to write into shared built-in functions instead of an own property. A crafted document, Mixed path, non-strict document or subdocument, findOneAndReplace() replacement, chained update, or Query.prototype.merge() source can overwrite Object.prototype.toString.call, causing later queries on unrelated models to fail until the process restarts. Separately, when an attacker controls the dotted path passed to doc.set(path, value) for a subdocument configured with strict: false, descent through $__set can reach $__schema and alter shared validators or schema options for later documents. Mongoose already blocks __proto__, constructor, and prototype, so this issue overwrites properties on reachable shared objects rather than adding new properties directly to Object.prototype. This issue is fixed in versions 6.13.12, 7.8.13, 8.24.7, and 9.11.4.
cve.now Index
- Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
- Exposure17/25No login or user action needed, reachable over the network without a login · Unknown: Advisories don't say whether default setups are affected
- Reach?/20Unknown. No tracked technology or package matched
- Severity8.2/10CVSS 8.2
- No patch0/5No signal
What would change the score
- Would score about 70 if added to CISA KEV
- Would score about 65 if CISA's SSVC rates exploitation active
- Would score about 30 if advisories confirm default setups are exposed
What to do
Upgrade to a fixed version: 6.13.12, 7.8.13, 8.24.7, 9.11.4.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- Automattic mongoose
fixed in 6.13.12; From 7.0.0 · fixed in 7.8.13; From 8.0.0 · fixed in 8.24.7; From 9.0.0 · fixed in 9.11.4
Evidence 11
- Advisory
- Repository
- Repository
- Repository
- Repository
Show all 11 sourcesShow fewer sources
- Repository
- Repository
- Repository
- Repository
- Repository
- Repository
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-125117
Is CVE-2026-125117 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
Mongoose walks into inherited properties when hydrating, setting, and merging data, so attacker-controlled keys can overwrite built-in functions. The reported impact is denial of service: after Object.prototype.toString.call is overwritten, later queries in the process fail until restart.Source: github.com
Which versions are affected by CVE-2026-125117?
mongoose: before 6.13.12; from 7.0.0 before 7.8.13; from 8.0.0 before 8.24.7; from 9.0.0 before 9.11.4.Source: cve.now feed data
Am I affected, and how do I check?
Versions before 6.13.12, 7.0.0 through 7.8.12, 8.0.0 through 8.24.6, and 9.0.0 through 9.11.3 are affected. The reported setups involve schemas with strict: false, non-strict schemas, Mixed paths, findOneAndReplace(), chained updates, or Query.prototype.merge() receiving attacker-controlled keys. The installed version can be checked with npm ls mongoose.Source: github.com
How do I fix CVE-2026-125117?
Upgrade to the fixed release on the same major line: 6.13.12, 7.8.13, 8.24.7, or 9.11.4.Source: github.com