Server-Side Request Forgery (SSRF) in mlflow/mlflow
A Server-Side Request Forgery (SSRF) vulnerability exists in MLflow versions prior to 3.9.0. The `_create_webhook()` function in `mlflow/server/handlers.py` accepts a user-controlled `url` parameter without validation, and the `_send_webhook_request()` function in `mlflow/webhooks/delivery.py` sends HTTP POST requests to this attacker-controlled URL. This allows an authenticated attacker to force the MLflow backend to send HTTP requests to internal services, cloud metadata endpoints, or arbitrary external servers. The lack of input sanitization, URL scheme filtering, or allowlist validation on the webhook URL enables exploitation, potentially leading to cloud credential theft, internal network access, and data exfiltration.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-2393
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 18:07 UTC · Revision 1
Source evidence
Server-Side Request Forgery (SSRF) in mlflow/mlflow
core-osv · Original sourcePublished 11 May 2026, 16:30 UTC
A Server-Side Request Forgery (SSRF) vulnerability exists in MLflow versions prior to 3.9.0. The `_create_webhook()` function in `mlflow/server/handlers.py` accepts a user-controlled `url` parameter without validation, and the `_send_webhook_request()` function in `mlflow/webhooks/delivery.py` sends HTTP POST requests to this attacker-controlled URL. This allows an authenticated attacker to force the MLflow backend to send HTTP requests to internal services, cloud metadata endpoints, or arbitrary external servers. The lack of input sanitization, URL scheme filtering, or allowlist validation on the webhook URL enables exploitation, potentially leading to cloud credential theft, internal network access, and data exfiltration.
osv:CVE-2026-2393
Complete source record
{
"id": "70d3d912c1426b8b064001868d12b96cb27a0bd9c21b1ca82c368e3ae1b266fc",
"url": "https://osv.dev/vulnerability/CVE-2026-2393",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Server-Side Request Forgery (SSRF) in mlflow/mlflow",
"summary": "A Server-Side Request Forgery (SSRF) vulnerability exists in MLflow versions prior to 3.9.0. The `_create_webhook()` function in `mlflow/server/handlers.py` accepts a user-controlled `url` parameter without validation, and the `_send_webhook_request()` function in `mlflow/webhooks/delivery.py` sends HTTP POST requests to this attacker-controlled URL. This allows an authenticated attacker to force the MLflow backend to send HTTP requests to internal services, cloud metadata endpoints, or arbitrary external servers. The lack of input sanitization, URL scheme filtering, or allowlist validation on the webhook URL enables exploitation, potentially leading to cloud credential theft, internal network access, and data exfiltration.",
"evidence": "osv:CVE-2026-2393",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-2393",
"aliases": [
"BIT-mlflow-2026-2393",
"CVE-2026-2393",
"GHSA-65h7-c7c4-mghx",
"PYSEC-2026-2219"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/mlflow/mlflow",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "cf3d582a7b8a6f234e4d28ef6987bb8076c6ee54"
},
{
"fixed": "64aa0ab7207f9c649b59ba1a5f40d82196817389"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:lfprojects:mlflow:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.9.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "64aa0ab7207f9c649b59ba1a5f40d82196817389"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v3.9.0rc0",
"nightly",
"v3.0.0",
"v2.2.0",
"v1.7.0",
"1.0.0",
"v0.8.1",
"v0.8.0",
"v0.7",
"v0.6.0",
"v0.5.0",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.0",
"v0.2.1",
"v0.2.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2393.json"
}
}
],
"modified": "2026-10-28T02:30:22.232377085Z",
"provider": "osv",
"references": [
"https://huntr.com/bounties/04ef100d-06b5-4a70-95b1-b7be23aa8150",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/2xxx/CVE-2026-2393.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-2393",
"https://github.com/mlflow/mlflow/commit/64aa0ab7207f9c649b59ba1a5f40d82196817389"
],
"provider_metadata": {
"cwe_ids": [
"CWE-918"
],
"cna_assigner": "@huntr_ai",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/2xxx/CVE-2026-2393.json"
}
},
"related_cves": [
{
"value": "CVE-2026-2393",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 488085,
"published_at": "2026-05-11T16:30:04.201+00:00"
}