9.3
CVSS score for CVE-2026-64849; no authentication required to trigger the SSRF and steal cloud IAM credentials from any exposed MLflow Tracking Server
Hours
after CVE assignment on August 17, attackers began indiscriminate scanning for exposed MLflow instances per watchTowr threat intelligence, confirming immediate real-world exploitation
Sep 2, 2026
CISA mandatory federal remediation deadline for CVE-2026-64849 under Binding Operational Directive 26-04; private organizations should treat this date as their own hard target
6 hours
maximum validity window for AWS temporary IAM credentials stolen via the MLflow SSRF, giving attackers time to create persistent IAM accounts before short-lived credentials expire

SponsoredHorizon3.ai

Proactive Security for the AI Era

NodeZero continuously and autonomously pentests infrastructure, identity, cloud, and now web applications, chaining weaknesses across every domain the way real attackers do. Every finding ships with replayable proof showing exploitable business impact, not theoretical risk.

See NodeZero WebApp in action

CVE-2026-64849 is a CVSS 9.3 server-side request forgery vulnerability in MLflow that lets unauthenticated attackers steal cloud IAM credentials without any login required, and CISA confirmed active exploitation when it added the flaw to the Known Exploited Vulnerabilities catalog on August 19, 2026, setting a federal remediation deadline of September 2.

The flaw lives in MLflow's model-registry webhook API. The vulnerable endpoint, POST /api/2.0/mlflow/webhooks/{id}/test, is exposed to the internet by default in standard MLflow Tracking Server deployments without any authentication gate. When MLflow processes a webhook test request, its URL validation function checks the supplied URL for safety. The exploit bypasses this check using DNS rebinding: an attacker registers a domain that resolves to an allowed address during validation, then resolves to a cloud metadata service IP (169.254.169.254) during the actual delivery. MLflow follows the redirect, reaches the metadata endpoint, and returns the response, including temporary IAM credentials, directly to the attacker. The validation and delivery steps use separate DNS lookups with no address pinning between them.

MLflow is the dominant open-source platform for managing the machine learning lifecycle, used across financial services, healthcare, technology, and research organizations worldwide. Every organization running an internet-exposed MLflow Tracking Server on a version before 3.15.0 is at risk. Attackers began scanning for exposed MLflow instances within hours of CVE assignment on August 17, and confirmed incidents include cloud credential exfiltration leading to cryptominer deployment and new IAM user creation for persistent access. The MLflow SSRF CVE-2026-64849 threat demands three immediate actions: patch to 3.15.0, rotate any cloud credentials on servers running affected versions, and enable IMDSv2 on cloud instances hosting MLflow.

How Does the MLflow SSRF Attack Work?

CVE-2026-64849 exploits a DNS rebinding bypass in MLflow's outbound webhook URL validation to reach cloud metadata services without any authentication. The attack chain requires no credentials and executes in seconds against an exposed server.

MLflow Tracking Servers expose a REST API for managing experiments, model registries, and webhooks. The POST /api/2.0/mlflow/webhooks/{id}/test endpoint fires a test delivery to a configured webhook URL and returns the response. MLflow's validation function, _validate_webhook_url(), calls the provided URL to check whether it resolves to an allowed address. The bug is in the delivery path: mlflow/webhooks/delivery.py follows HTTP redirects and re-resolves hostnames without pinning the IP address validated in the first step. An attacker controls a domain that returns a benign IP during the validation DNS lookup and the cloud metadata IP (169.254.169.254) during the delivery DNS lookup. MLflow validates the first resolution as safe, then makes the actual HTTP request to the metadata service using the second resolution.

AWS Instance Metadata Service at 169.254.169.254 provides temporary IAM credentials to any process on the EC2 instance. A successful MLflow SSRF attack returns those credentials in the HTTP response, including the AccessKeyId, SecretAccessKey, and SessionToken. Those credentials carry the IAM permissions of the attached instance profile, which in data science environments frequently includes broad S3 read/write access, SageMaker job execution, and Glue access. Equivalent metadata endpoints exist in Azure (169.254.169.254/metadata/identity/oauth2/token) and GCP (metadata.google.internal/computeMetadata/v1/instance/service-accounts/). The flaw bypasses any IP-based allowlist that operates only on the validation step and not on the delivery step. Organizations that block outbound connections from the MLflow server to 169.254.169.254 at the network layer are protected against credential exfiltration even on unpatched versions.

Cloud Credential Theft: What Attackers Do After Exploiting CVE-2026-64849

Attackers exploit the MLflow SSRF vulnerability to extract temporary cloud credentials from the metadata service, then use those credentials to exfiltrate data, deploy cryptominers, or establish persistent access through new IAM accounts before the short-lived token expires.

In confirmed incidents following the August 17 CVE assignment, attackers followed a consistent four-step playbook. First, automated scanners probed for internet-exposed MLflow Tracking Servers using Shodan, Censys, and direct HTTP GET requests to known MLflow API paths. Second, exploit payloads hit the /api/2.0/mlflow/webhooks/{id}/test endpoint using DNS rebinding payloads to reach 169.254.169.254. Third, the tool extracted temporary IAM credentials from the IMDS JSON response. Fourth, the attacker used those credentials to enumerate S3 bucket contents, spin up compute instances for cryptomining, and create new IAM users or access keys for durable persistence before the original short-lived credentials expired.

The credential theft is especially damaging for three reasons. The temporary credentials returned by IMDS are valid for up to six hours, providing a substantial window to establish persistence. Machine learning environments grant MLflow server instances broad cloud permissions because data scientists need access to training data in S3, model artifacts stored in object storage, and compute resources. The IAM permissions on a typical ML server instance are wider than those of a production web server. Organizations that run MLflow in shared data science platforms where the server has access to production data stores face the highest exposure.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Active Exploitation Timeline: Scanning Began Within Hours of CVE Assignment

Active exploitation of CVE-2026-64849 began within hours of CVE assignment on August 17, and CISA confirmed real-world impact when it added the vulnerability to the Known Exploited Vulnerabilities catalog on August 19, 2026.

watchTowr, the cybersecurity firm that tracked the post-disclosure exploitation wave, observed indiscriminate scanning for exposed MLflow Tracking Servers beginning within hours of the August 17 CVE assignment. The rapid shift from disclosure to active scanning reflects the automated tooling threat actors apply immediately to any SSRF vulnerability in a popular open-source platform where cloud credential exposure is the prize. MLflow Cloud deployments managed by Databricks are unaffected because Databricks applied the fix on the server side. Organizations running self-managed MLflow instances on AWS, Azure, or GCP are the target population.

The CISA KEV addition on August 19 confirmed that exploitation moved beyond scanning to confirmed cloud account compromise. CISA's standard for KEV inclusion requires evidence of actual exploitation in the wild, not merely the existence of a proof of concept. The mandatory federal remediation deadline of September 2, 2026 applies to all Federal Civilian Executive Branch agencies under Binding Operational Directive 26-04. Private organizations should treat September 2 as a hard target: the vulnerability is weaponized, the attack chain is fully automated, and the payoff for attackers scales with the number of exposed instances they can reach.

The runner-up threat this week is CVE-2026-25895, an unauthenticated file write leading to remote code execution in FUXA, an open-source OT SCADA HMI platform, under active scanning as of August 18 with roughly 60 publicly exposed instances. Defenders with FUXA deployments should apply the vendor patch immediately.

Attackers began indiscriminate scanning for exposed MLflow instances online within hours of the CVE being assigned on August 17, 2026.

watchTowr threat intelligence

Indicators of Compromise for CVE-2026-64849

No specific attacker-controlled IP addresses, domains, or malware file hashes have been publicly disclosed for CVE-2026-64849. Detection relies on network telemetry, cloud audit log signals, and application access log patterns.

Network telemetry to monitor: outbound HTTP GET requests from the MLflow server process (python, gunicorn, uvicorn) to 169.254.169.254 or its Azure and GCP equivalents; POST requests to /api/2.0/mlflow/webhooks/ containing hostnames or redirect chains that resolve to RFC 1918 or link-local addresses; and anomalous outbound DNS queries from the MLflow server with very short TTL values (under five seconds) followed immediately by requests to a different IP than the one in the initial DNS response.

AWS CloudTrail signals that indicate post-exploitation activity: AssumeRoleWithInstanceProfile events originating from the MLflow server's instance at unexpected times or by unrecognized principals; ConsoleLogin events for IAM users created after August 19, 2026 from IPs not associated with your organization; CreateAccessKey events not correlated with a documented provisioning workflow; and RunInstances or SpotInstanceRequest events from the MLflow server's instance profile outside normal working hours.

MLflow application log indicators: POST entries to /api/2.0/mlflow/webhooks/{id}/test with webhook URLs containing raw IP addresses rather than hostnames; HTTP 200 responses to webhook test calls with response bodies significantly larger than a typical webhook test response (the IMDS credential JSON is approximately 500 bytes); and repeated test requests from the same source IP within a short window, consistent with automated scanning.

Subscribe to unlock Indicators of Compromise

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Sigma Detection Rules for CVE-2026-64849

No CVE-specific community Sigma rule exists for CVE-2026-64849 yet. These rules were generated by Decryption Digest from the vulnerability's known behavior. Validate against your environment before production deployment. Both rules carry status: experimental.

Rule 1 targets web server access logs for POST requests to the MLflow webhook test endpoint. Any POST from an external IP to /api/2.0/mlflow/webhooks/ ending in /test is suspicious and warrants investigation; in environments where MLflow is not internet-facing this rule should fire rarely or never. Deploy this rule in your SIEM's web server log pipeline and alert immediately.

Rule 2 targets network connection logs for outbound connections from Python interpreter processes to 169.254.169.254. This is the direct indicator of a successful SSRF exploitation reaching the cloud metadata service. Any Python process connecting to this IP is either exploiting the vulnerability or is part of an unusual health check workflow. Treat this rule as high-confidence: set it to alert and page on-call.

Subscribe to unlock Sigma Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock WAF Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Remediation Steps: Patch MLflow and Rotate Cloud Credentials

Patching to MLflow 3.15.0 resolves the DNS rebinding bypass in the webhook URL validation. Credential rotation and IMDSv2 enrollment close the attack surface even before the patch is applied on instances where an immediate upgrade is not possible.

Apply official patch →github.com/mlflow/mlflow/releases/tag/v3.15.0

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Why MLflow SSRF CVE-2026-64849 Matters for Your Organization

The MLflow SSRF vulnerability is part of a sustained wave of attacks against AI and machine learning infrastructure that accelerated through 2025 and 2026. Langflow, an open-source LLM orchestration platform, suffered an unauthenticated RCE via CVE-2026-9198 that gave attackers shell access on exposed servers. A LiteLLM supply chain attack exposed over 434,000 CI/CD pipeline credentials. CVE-2026-64849 fits the same pattern: ML platform infrastructure is internet-accessible by design, granted broad cloud permissions, and often excluded from enterprise security scanning because security teams categorize ML tooling as development infrastructure rather than production.

Three systemic factors amplify the risk. First, MLflow instances are commonly granted wide IAM permissions because data scientists need frictionless access to S3, SageMaker, and other cloud services. A compromised ML server is not just one server; it is a set of cloud IAM permissions that may touch production data stores. Second, MLflow deployments frequently bypass the hardening steps applied to production web servers: no WAF, no network segmentation from the internet, no security group restriction on the API port. Third, the attack requires zero victim interaction, scales with automation, and leaves no trace on the MLflow server itself once the attacker has the credential and deletes the test webhook entry.

The September 2 CISA deadline is the hard target, but the practical target is today. Automated exploitation of CVE-2026-64849 has been running for eight days as of August 25. Any exposed instance that has not been patched or had its metadata endpoint blocked has had eight days of exposure to systematic credential harvesting.

The bottom line

MLflow SSRF CVE-2026-64849 gives unauthenticated attackers a direct path to cloud IAM credentials through any internet-exposed MLflow Tracking Server running a version before 3.15.0. CISA confirmed active exploitation on August 19 and set a federal deadline of September 2. Three facts define the urgency: scanning began within hours of CVE assignment, the exploit is fully automated, and the stolen credentials provide up to six hours to establish persistent IAM access before expiry. The single most time-critical action today: patch to MLflow 3.15.0, enable IMDSv2 on the host instance, and rotate cloud credentials on any server that ran vulnerable MLflow versions with internet-facing webhook endpoints.

This analysis is generic. create a free account to score threats like this against your own stack.

Frequently asked questions

What is CVE-2026-64849 and what does it affect?

CVE-2026-64849 is a CVSS 9.3 server-side request forgery vulnerability in MLflow versions before 3.15.0. It affects the model-registry webhook API endpoint POST /api/2.0/mlflow/webhooks/{id}/test, which is exposed without authentication by default in all standard MLflow Tracking Server deployments. An unauthenticated attacker with network access to the MLflow server can exploit the flaw to reach cloud metadata services and steal temporary IAM credentials. MLflow Cloud (Databricks managed) is unaffected.

How does the MLflow SSRF attack steal cloud credentials?

The attack uses DNS rebinding to bypass MLflow's webhook URL validation. An attacker supplies a URL pointing to an attacker-controlled domain. During MLflow's validation step, that domain resolves to a benign allowed IP. During the actual webhook delivery, the domain resolves to 169.254.169.254, the cloud instance metadata service. MLflow follows the redirect without re-validating the resolved IP, reaches the metadata endpoint, and returns the AWS, Azure, or GCP IAM credential JSON directly to the attacker.

Is my MLflow instance vulnerable if it is behind a VPN?

If your MLflow Tracking Server is accessible only from within a VPN and not exposed to the public internet, your risk is significantly reduced because the attack requires HTTP access to the server. However, any user or system on the VPN with access to the MLflow API could still exploit the flaw, including a compromised internal host or a malicious insider. Patching to 3.15.0 and enabling IMDSv2 is the correct fix regardless of network position.

How do I check if my MLflow version is affected?

Run "mlflow --version" on the server to see the installed version. Any version below 3.15.0 is vulnerable. You can also check the installed package version with "pip show mlflow | grep Version". If the version is 3.14.x or lower, the server is vulnerable. Upgrade with "pip install --upgrade 'mlflow>=3.15.0'" and restart the tracking server process.

What cloud credentials can be stolen via CVE-2026-64849?

The vulnerability allows access to whatever cloud credentials are available through the instance metadata service on the server running MLflow. On AWS, this means the temporary IAM credentials of the EC2 instance profile, including the AccessKeyId, SecretAccessKey, and SessionToken. On Azure, it means the managed identity OAuth token. On GCP, it means the service account token. The scope of what an attacker can do with those credentials depends on the IAM permissions attached to the instance profile, which in ML environments are frequently broad.

What is the CISA KEV remediation deadline for CVE-2026-64849?

CISA added CVE-2026-64849 to the Known Exploited Vulnerabilities catalog on August 19, 2026 and set a mandatory remediation deadline of September 2, 2026 for all Federal Civilian Executive Branch agencies under Binding Operational Directive 26-04. Private organizations are not legally bound by this deadline, but the KEV listing signals that exploitation is confirmed and the vulnerability should be treated as a top-priority patch regardless of sector or size.

How do I detect if CVE-2026-64849 has been exploited on my MLflow server?

Check three sources. First, MLflow access logs: look for POST requests to /api/2.0/mlflow/webhooks/ ending in /test from external IPs, especially with large response bodies. Second, network logs: look for outbound connections from the MLflow server process to 169.254.169.254. Third, AWS CloudTrail: search for CreateUser, CreateAccessKey, and AssumeRole events originating from the MLflow server's instance profile after August 17, 2026. Any unexplained IAM account creation after that date should be treated as a likely indicator of compromise.

What is IMDSv2 and does it protect against CVE-2026-64849?

IMDSv2 (Instance Metadata Service v2) is an AWS security feature that requires a session-oriented PUT request with a TTL token before any metadata credentials can be retrieved. A standard SSRF attack like CVE-2026-64849 can only issue a GET-based SSRF via the MLflow webhook delivery mechanism and cannot perform the required PUT pre-flight. Enabling IMDSv2 by setting HttpTokens=required on the EC2 instance blocks credential exfiltration via SSRF on AWS even on unpatched MLflow versions. It does not address the vulnerability itself; patching to 3.15.0 remains required.

Sources & references

  1. CISA: Adds One Known Exploited Vulnerability to Catalog (August 19, 2026)
  2. BleepingComputer: CISA warns of hackers exploiting critical MLflow vulnerability
  3. The Hacker News: Attackers Exploit MLflow SSRF Flaw to Steal Cloud Credentials and Secrets
  4. SecurityWeek: MLflow Vulnerability Exploited for Cloud Credential Theft
  5. MLflow v3.15.0 Release Notes

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Giveaway: InfoSec World 2026 All Access Pass ($3,895 value)

Details →
Daily Briefing

Subscribe to enter the giveaway

Every subscriber is automatically entered. You also get daily threat intel every morning: zero-days, ransomware, and nation-state campaigns. Free. No spam.

Already subscribed? You're already entered.

Giveaway

Win a $3,895 InfoSec World 2026 pass.