← back
CVE-2026-64849criticalunder attackCWE-918

MLflow: Unauthenticated full-read SSRF in webhook delivery: _validate_webhook_url bypassed via unvalidated HTTP redirects (and DNS rebinding)

98Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.3epss 16%
from disclosure to weapon1 days
Published on NVDAug 17
1st PoC+1d
CISA KEV+2d
exploitation probability
16%top 3% of all CVEs
observed exploitation
yesCISA + VulnCheck
3 public exploit(s)
Action required by CISAfederal deadline: 2026-09-02

Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.

In short

MLflow has an unauthenticated endpoint that validates a webhook URL but then follows HTTP redirects without re-validating them, allowing attackers to bypass security checks and access internal services or cloud metadata. This lets attackers read sensitive information from systems that should be protected.

Technical detail

CVE-2026-64849 is a Server-Side Request Forgery (SSRF) vulnerability in MLflow's webhook test endpoint (/api/2.0/mlflow/webhooks/{id}/test). The _validate_webhook_url() function validates only the initial URL, but the delivery mechanism follows HTTP redirects and re-resolves hostnames without pinning the validated address, enabling attackers to reach internal/metadata services and exfiltrate response data. No authentication is required for exploitation.

Summary generated and translated by AI from the official description.
MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. Prior to 3.15.0, the unauthenticated POST /api/2.0/mlflow/webhooks/{id}/test endpoint calls _validate_webhook_url() in mlflow/utils/validation.py only for the original URL while mlflow/webhooks/delivery.py follows redirects and re-resolves the hostname without pinning the validated address, allowing attackers to reach internal or cloud metadata services and receive response_status and response_body. This issue is fixed in version 3.15.0.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
Affected products
mlflow · mlflow
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.