{"schemaVersion":3,"id":"CVE-2026-2033","aliases":["GHSA-q2r8-vmq7-fpx2","PYSEC-2026-2658"],"status":"published","duplicateOf":null,"title":null,"description":"MLflow Tracking Server Artifact Handler Directory Traversal Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of MLflow Tracking Server. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the handling of artifact file paths. The issue results from the lack of proper validation of a user-supplied path prior to using it in file operations. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-26649.","dates":{"published":"2026-02-20T22:12:06.040Z","modified":"2026-07-15T01:20:45.985Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.1,"severity":"high","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.3,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":8.1,"severity":"high","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"OSV · Pypi","score":8.1,"severity":"high","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":5.6,"impact":9.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.3,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"NVD","score":8.1,"severity":"high","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01847,"percentile":0.78881,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.1570000000000002,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.0169},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01661,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01661,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01661,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01661,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01661,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.01847,"percentile":0.78881}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0169,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01728,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01847,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.01847,"percentile":0.78881}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"mlflow","product":"mlflow","name":"MLflow","label":"mlflow","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"3.1.1 and 5b9c01925c2e2a8cf0951f155a6a468ff99cfe0f","noFixRecorded":false,"fixedIn":null}],"versionsText":"3.1.1 and 5b9c01925c2e2a8cf0951f155a6a468ff99cfe0f","eol":null,"hubHref":"/vendor/mlflow/mlflow"},{"vendor":"PyPI","product":"mlflow","name":"mlflow","label":"mlflow","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/mlflow","purlType":"pypi","versions":[{"text":"< 3.8.0rc0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.8.0rc0","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.zerodayinitiative.com/advisories/ZDI-26-105/","label":"www.zerodayinitiative.com/advisories/ZDI-26-105/","hostname":"www.zerodayinitiative.com","tags":["X Research Advisory"]},{"url":"https://github.com/mlflow/mlflow/pull/19260","label":"github.com/mlflow/mlflow/pull/19260","hostname":"github.com","tags":["Vendor Advisory","WEB"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-2033","label":"access.redhat.com/security/cve/CVE-2026-2033","hostname":"access.redhat.com","tags":["VDB Entry","X Refsource REDHAT"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2441508","label":"bugzilla.redhat.com/show_bug.cgi?id=2441508","hostname":"bugzilla.redhat.com","tags":["Issue Tracking","X Refsource REDHAT"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-2033.json","label":"security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-2033.json","hostname":"security.access.redhat.com","tags":["X Sadp Csaf Vex"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-2033","label":"nvd.nist.gov/vuln/detail/CVE-2026-2033","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/mlflow/mlflow/commit/5bf2ec2bd4222a18d78631183ac7f6b752afe8a4","label":"github.com/mlflow/mlflow/commit/5bf2ec2bd4222a18d78631183ac7f6b752afe8a4","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/mlflow/mlflow","label":"github.com/mlflow/mlflow","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/mlflow/mlflow/releases/tag/v3.8.0rc0","label":"github.com/mlflow/mlflow/releases/tag/v3.8.0rc0","hostname":"github.com","tags":["WEB"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-26-105","label":"www.zerodayinitiative.com/advisories/ZDI-26-105","hostname":"www.zerodayinitiative.com","tags":["WEB"]},{"url":"https://pypi.org/project/mlflow","label":"pypi.org/project/mlflow","hostname":"pypi.org","tags":["PACKAGE"]},{"url":"https://github.com/advisories/GHSA-q2r8-vmq7-fpx2","label":"github.com/advisories/GHSA-q2r8-vmq7-fpx2","hostname":"github.com","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-02-20T22:12:06.040Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-15T01:20:45.985Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":33,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T14:57:02.658Z","stale":false,"partial":false}}