{"schema":"threatline.record/2","record":{"id":"CVE-2026-2651","aliases":["BIT-mlflow-2026-2651","GHSA-8c7q-86fq-vvmh","PYSEC-2026-2220"],"summary":"MLflow allows unauthorized access to multipart upload endpoints when the `--serve-artifacts` mode is enabled","details":"A vulnerability in MLflow versions <=3.10.1.dev0 allows unauthorized access to multipart upload (MPU) endpoints when the `--serve-artifacts` mode is enabled. The authorization logic does not enforce resource-level permission checks for `/mlflow-artifacts/mpu/*` endpoints, enabling attackers to overwrite artifacts belonging to other users. This can lead to unauthorized cross-user writes, model supply chain poisoning, and arbitrary code execution when compromised models are loaded. The issue is resolved in version 3.10.0.","categories":["Libraries & packages"],"product":"mlflow","vendor":"mlflow","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-8c7q-86fq-vvmh","source_modified_at":"2026-10-06T18:43:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"mlflow"},"range":"< 3.10.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-2651","source_modified_at":"2026-07-15T02:49:04.921Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"mlflow/mlflow","vendor":"mlflow","versions":[{"version":"unspecified","lessThan":"3.10.0","status":"affected","versionType":"custom"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8c7q-86fq-vvmh","source_modified_at":"2026-10-06T19:00:43.189915747Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"mlflow","purl":"pkg:pypi/mlflow"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"3.10.0"}],"type":"ECOSYSTEM"}],"versions":["0.0.1","0.1.0","0.2.0","0.2.1","0.3.0","0.4.0","0.4.1","0.4.2","0.5.0","0.5.1","0.5.2","0.6.0","0.7.0","0.8.0","0.8.1","0.8.2","0.9.0","0.9.0.1","0.9.1","1.0.0","1.1.0","1.1.1.dev0","1.10.0","1.11.0","1.12.0","1.12.1","1.13","1.13.1","1.14.0","1.14.1","1.15.0","1.16.0","1.17.0","1.18.0","1.19.0","1.2.0","1.20.0","1.20.1","1.20.2","1.21.0","1.22.0","1.23.0","1.23.1","1.24.0","1.25.0","1.25.1","1.26.0","1.26.1","1.27.0","1.28.0"]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-8c7q-86fq-vvmh","source_modified_at":"2026-10-06T18:43:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"mlflow"},"version":"3.10.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-2651","source_modified_at":"2026-07-15T02:49:04.921Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"mlflow/mlflow","ecosystem":null},"version":"3.10.0","basis":"first unaffected version stated in the CVE record"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8c7q-86fq-vvmh","source_modified_at":"2026-10-06T19:00:43.189915747Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"mlflow","purl":"pkg:pypi/mlflow"},"version":"3.10.0"}],"cvss":9,"severity":"Critical","kev":{"listed":false},"epss":{"probability":0.00536,"percentile":0.44435,"score_date":"2026-10-23"},"published_at":"2026-05-25T06:00:34.002Z","modified_at":"2026-10-06T19:00:43.189915747Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-8c7q-86fq-vvmh","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-06T18:43:57Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-2651","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-07-15T02:49:04.921Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-8c7q-86fq-vvmh","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-06T19:00:43.189915747Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-2651","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-2651","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/mlflow/mlflow/commit/d7290811d8f3c95366d80109424edc1fb1ad966f"},{"source":"CVE List","url":"https://huntr.com/bounties/65beb119-d3e0-4e03-af2f-fa98f78f83dc","tags":["exploit"]},{"source":"CVE List","url":"https://access.redhat.com/security/cve/CVE-2026-2651","tags":["vdb-entry","x_refsource_REDHAT"]},{"source":"CVE List","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2481117","tags":["issue-tracking","x_refsource_REDHAT"]},{"source":"CVE List","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-2651.json","tags":["x_sadp-csaf-vex"]},{"url":"https://github.com/advisories/GHSA-8c7q-86fq-vvmh","source":"GitHub Advisory Database"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/mlflow/PYSEC-2026-2220.yaml","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"poc","automatable":"no","technical_impact":"total","assessed_at":"2026-05-26T00:00:00+00:00"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-06T19:00:43.189915747Z","content_hash":"d4db5b409d197c15aca6d581f580237e8ba62871b2caee2861e3792d5e4369a7"}}
