{"id":"CVE-2026-64849","published":"2026-08-17T22:17:23Z","modified":"2026-10-26T13:10:00Z","title":"MLflow Server-Side Request Forgery Vulnerability","vendor":"MLflow","product":"MLflow","tier":"core","eol":null,"description":{"text":"MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. Starting in 3.3.0 and 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.","provenance":"source","from":"NVD"},"summary":{"text":"The flaw is a server-side request forgery in the MLflow platform's webhook test functionality, where the webhook delivery component follows redirects and re-resolves hostnames after only the original URL has been validated. An attacker with network access can send an unauthenticated request to the webhook test endpoint, without any user interaction or special configuration, to make the server reach internal or cloud metadata services and return the response status and body to the attacker.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:54:01Z"},"cvss":{"score":9.3,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N","provenance":"source","from":"NVD"},"epss":{"score":0.10017,"percentile":0.95608,"date":"2026-10-30","provenance":"source"},"kev":{"dateAdded":"2026-08-19","dueDate":"2026-09-02","ransomware":false,"requiredAction":"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.","notes":"https://github.com/mlflow/mlflow/pull/24258 ; https://github.com/mlflow/mlflow/issues/24179 ; BOD 26-04: https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk ; Forensics Triage Requirements: https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk ; https://nvd.nist.gov/vuln/detail/CVE-2026-64849","provenance":"source"},"vulncheckKev":{"dateAdded":"2026-08-18","exploitedFirstSeen":"2026-08-18","ransomware":false,"evidence":[{"url":"https://previdian.com/CVE-2026-64849","date":"2026-08-18"},{"url":"https://x.com/watchtowrcyber/status/2089685887420440637","date":"2026-08-18"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2026-08-19"},{"url":"https://expel.com/blog/the-ai-cve-exploitation-evidence-story-headlines-are-scarier-than-reality/","date":"2026-08-27"},{"url":"https://cert.europa.eu/publications/threat-intelligence/cb26-09/","date":"2026-09-03"},{"url":"https://www.recordedfuture.com/blog/august-2026-cve-landscape","date":"2026-09-08"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-18&host_type=src&vulnerability=cve-2026-64849","date":"2026-09-18"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-21&host_type=src&vulnerability=cve-2026-64849","date":"2026-09-21"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-22&host_type=src&vulnerability=cve-2026-64849","date":"2026-09-22"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-25&host_type=src&vulnerability=cve-2026-64849","date":"2026-09-25"}],"evidenceTotal":16,"provenance":"source"},"exploited":true,"otx":{"pulseCount":31,"pulses":[{"name":"Actively_Exploited_Kev | Oct 31, 2026","url":"https://otx.alienvault.com/pulse/6ae4aefab0c2191cecd41862","created":"2026-10-30"},{"name":"Actively_Exploited_Kev | Oct 30, 2026","url":"https://otx.alienvault.com/pulse/6ae35d889ea92b4ce19c2680","created":"2026-10-29"},{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"}],"provenance":"machine"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"references":[{"url":"https://github.com/mlflow/mlflow/commit/ba949522477cbd5915aa55d29b0cfad7d5ddf939","tags":["Patch"]},{"url":"https://github.com/mlflow/mlflow/issues/24179","tags":["Exploit","Issue Tracking","Mitigation"]},{"url":"https://github.com/mlflow/mlflow/pull/24258","tags":["Issue Tracking","Patch"]},{"url":"https://github.com/mlflow/mlflow/releases/tag/v3.15.0","tags":["Release Notes"]},{"url":"https://github.com/mlflow/mlflow/security/advisories/GHSA-7gwp-5pfp-969j","tags":["Exploit","Vendor Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-64849","tags":["US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: unauthenticated public-facing API endpoint exploited","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"the unauthenticated POST /api/2.0/mlflow/webhooks/{id}/test endpoint","start":152,"end":220}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1090","name":"Proxy","tactics":["command-and-control"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: SSRF proxies requests to internal services","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allowing attackers to reach internal or cloud metadata services","start":427,"end":490}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"PyPI","package":"mlflow","vulnerableRanges":[">=3.3.0, <3.15.0","<3.15.0"],"patched":["3.15.0"],"from":["GHSA-7gwp-5pfp-969j","PYSEC-2026-3687"],"provenance":"source"}],"advisories":[{"id":"GHSA-7gwp-5pfp-969j","url":"https://github.com/advisories/GHSA-7gwp-5pfp-969j","severity":"CRITICAL","ecosystem":"PyPI","package":"mlflow","vulnerableRanges":[">=3.3.0, <3.15.0"],"patched":["3.15.0"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2026-60473","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-60473","exploited":true,"exploitedSince":"2026-08-19","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":3,"skipped":2,"earliest":"2026-08-19","earliestUrl":"https://github.com/BiuTrap/CVE-2026-64849","repos":[{"name":"BiuTrap/CVE-2026-64849","url":"https://github.com/BiuTrap/CVE-2026-64849","stars":0,"created":"2026-08-19"},{"name":"isaca0315/CVE-2026-64849-poc-lab","url":"https://github.com/isaca0315/CVE-2026-64849-poc-lab","stars":0,"created":"2026-09-06"},{"name":"maxprog-svg/CVE-2026-64849","url":"https://github.com/maxprog-svg/CVE-2026-64849","stars":0,"created":"2026-10-25"}]},"nuclei":[{"id":"CVE-2026-64849","name":"MLflow Webhook SSRF - Unauthenticated Full-Read via Redirect Bypass","severity":"critical","path":"http/cves/2026/CVE-2026-64849.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-64849.yaml"}],"first":{"date":"2026-08-19","source":"PoC-in-GitHub","url":"https://github.com/BiuTrap/CVE-2026-64849"},"provenance":"source"},"exploitRefs":["https://github.com/mlflow/mlflow/issues/24179","https://github.com/mlflow/mlflow/security/advisories/GHSA-7gwp-5pfp-969j"],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1090"],"provenance":"ai"}],"timeline":[{"date":"2026-08-17","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64849","provenance":"source"},{"date":"2026-08-18","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://previdian.com/CVE-2026-64849","provenance":"source"},{"date":"2026-08-19","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/BiuTrap/CVE-2026-64849","provenance":"source"},{"date":"2026-08-19","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2026-08-19","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-60473","provenance":"source"}],"speed":{"daysToPublicExploit":2,"firstExploitFrom":"PoC-in-GitHub","daysToKev":2},"priority":{"score":78.6,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":10.0,"detail":"added 74 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.12,"detail":"percentile 0.9561"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"2 NVD references tagged Exploit; 3 PoC-in-GitHub repos; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"31 pulses"},{"name":"CVSS severity","points":6.51,"detail":"base score 9.3"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2026-4137","published":"2026-05-18","fixed":"3.11.0","kev":false},{"cve":"CVE-2026-33865","published":"2026-04-07","fixed":"3.11.1","kev":false},{"cve":"CVE-2026-8147","published":"2026-07-02","fixed":"3.13.0rc0","kev":false,"link":{"from":"CVE-2026-8147","to":"CVE-2026-64849","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:mlflow","fromFixed":"3.13.0rc0","toFixed":"3.15.0","daysApart":46}]}},{"cve":"CVE-2026-64849","published":"2026-08-17","fixed":"3.15.0","kev":true},{"cve":"CVE-2026-115886","published":"2026-10-23","fixed":"3.17.0","kev":false},{"cve":"CVE-2026-116690","published":"2026-10-27","fixed":"3.17.0","kev":false},{"cve":"CVE-2026-116691","published":"2026-10-27","fixed":"3.17.0","kev":false}],"package":"PyPI:mlflow"}}