# CVE-2026-64849: MLflow - SSRF

> Live exploitation tracking for CVE-2026-64849 by the CrowdSec Live Exploit Tracker, built from real-world attack data crowdsourced from CrowdSec's global network.

Page: https://tracker.crowdsec.net/cves/CVE-2026-64849

## Key facts

- **Exploitation phase:** Limited Exploitation. The vulnerability is known but shows very limited attacker interest or exploitation activity.
- **CVSS score:** 9.3
- **Public exploit available:** Yes
- **Affected products:** MLflow
- **Weaknesses:** CWE-918 (Server-Side Request Forgery (SSRF))
- **Tags:** python, ai_mcp, web_application

## 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.

## CrowdSec analysis

[CVE-2026-64849](https://euvd.enisa.europa.eu/vulnerability/CVE-2026-64849) is a critical server-side request forgery (SSRF) vulnerability in MLflow versions prior to 3.15.0. An unauthenticated attacker can exploit the webhook testing endpoint to bypass URL validation through redirects and DNS re-resolution, accessing internal services or cloud metadata endpoints and retrieving response data. This could expose sensitive credentials and information, with potential limited impact on internal service integrity.

CrowdSec has been tracking this vulnerability and its exploits since 25th of August 2026.

Insights from the CrowdSec network reveal that the attackers trying to exploit CVE-2026-64849 are composed of a fairly even mix of opportunistic and targeted actors. Some attackers employ preliminary reconnaissance, while others use indiscriminate scanning.
Telemetry from the CrowdSec network also shows that exploitation activity for CVE-2026-64849 remains steady week-over-week. Attack volumes are consistent with long-term trends, indicating sustained interest from threat actors. CVE-2026-64849 continues to be an active part of the threat landscape and will likely remain this way for the forseeable future.

Attackers target MLflow’s webhook API by creating a webhook through `/api/2.0/mlflow/webhooks` with an attacker-controlled or internal URL, then invoking `/api/2.0/mlflow/webhooks/{webhook_id}/test` to trigger server-side requests and observe the response through an external callback.

## Timeline

- 2026-08-17: CVE Published. CVE-2026-64849 is published to NVD.
- 2026-08-19: CISA KEV. CVE-2026-64849 is added to the Known Exploited Vulnerabilities catalog by CISA.
- 2026-08-25: Rule Released. CrowdSec releases a rule to detect CVE-2026-64849 exploitation attempts against the CrowdSec Network.
- 2026-08-28: CrowdSec First Seen. CrowdSec observes in-the-wild exploitation of CVE-2026-64849 for the first time.
- 2026-09-02: CISA Remediation Deadline. Expiration of the CISA remediation deadline as described in [BOD 22-01](https://www.cisa.gov/news-events/directives/bod-22-01-reducing-significant-risk-known-exploited-vulnerabilities).

## References

- https://github.com/mlflow/mlflow/pull/24258
- https://github.com/mlflow/mlflow/commit/ba949522477cbd5915aa55d29b0cfad7d5ddf939
- https://github.com/mlflow/mlflow/security/advisories/GHSA-7gwp-5pfp-969j
- https://github.com/mlflow/mlflow/releases/tag/v3.15.0
- https://github.com/mlflow/mlflow/issues/24179
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-64849
- https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-64849.yaml

## Live exploitation data

The [Live Exploit Tracker page](https://tracker.crowdsec.net/cves/CVE-2026-64849) follows observed exploitation activity for CVE-2026-64849. [Request an API key](https://tracker.crowdsec.net/request-api-key) for full access to its exploitation timeline, attacking IP addresses and blocklists.
