{"answers":{"affected":"4 open source packages ship an affected version, including mongoose.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-125117 exists.","exposure":"","fix":"Upgrade mongoose to a fixed version for your release line: 6.13.12, 7.8.13, 8.24.7 or 9.11.4.","what":"CVE-2026-125117 is a high-severity vulnerability in Automattic mongoose, published on 9 Nov 2026."},"fix_prompt":"Check this codebase for CVE-2026-125117 and fix it if it is affected.\n\nWhat it is: CVE-2026-125117 is a high-severity vulnerability in Automattic mongoose, published on 9 Nov 2026. \nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-125117 exists.\n\nAffected packages and fixed versions:\n- mongoose (npm): affected all versions; fixed in 6.13.12\n- mongoose (npm): affected from 7.0.0; fixed in 7.8.13\n- mongoose (npm): affected from 8.0.0; fixed in 8.24.7\n- mongoose (npm): affected from 9.0.0; fixed in 9.11.4\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-125117/ (Markdown: https://insights.sbomify.com/CVE-2026-125117/index.md)","id":"CVE-2026-125117","markdown":"https://insights.sbomify.com/CVE-2026-125117/index.md","name":"CVE-2026-125117","record":{"aliases":["GHSA-8332-j7wj-wjw4"],"analysis":null,"analysis_generated_by":null,"assigner":"GitHub_M","cpe":[],"cvss":{"score":8.2,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H","version":"3.1"},"cwes":[{"id":"CWE-1321","name":"Improperly Controlled Modification of Object Prototype Attributes"}],"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.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Mongoose walks into inherited properties when hydrating, setting, and merging, allowing overwrites of built-in functions (denial of service) and shared schema state","id":"CVE-2026-125117","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":null,"year":"2026"},"n_packages":4,"n_references":11,"next":{"headline":"Mongoose: Prototype pollution via Schema.prototype.virtual()","id":"CVE-2026-125118"},"nickname":null,"packages":[{"ecosystem":"npm","fixed":["6.13.12"],"introduced":["0"],"last_affected":[],"package":"mongoose","purl":null,"source":"GHSA-8332-j7wj-wjw4"},{"ecosystem":"npm","fixed":["7.8.13"],"introduced":["7.0.0"],"last_affected":[],"package":"mongoose","purl":null,"source":"GHSA-8332-j7wj-wjw4"},{"ecosystem":"npm","fixed":["8.24.7"],"introduced":["8.0.0"],"last_affected":[],"package":"mongoose","purl":null,"source":"GHSA-8332-j7wj-wjw4"},{"ecosystem":"npm","fixed":["9.11.4"],"introduced":["9.0.0"],"last_affected":[],"package":"mongoose","purl":null,"source":"GHSA-8332-j7wj-wjw4"}],"prev":{"headline":"Mongoose: Discriminator key values matching inherited properties (e.g. __t: 'constructor') bypass schema casting and can poison collections","id":"CVE-2026-125116"},"products":["mongoose"],"published":"2026-11-09","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-11-10","vendors":["Automattic"]},"summary":null,"url":"https://insights.sbomify.com/CVE-2026-125117/"}