Skip to content
Heist/ feed
Back to feed
High

Authorization Bypass in mlflow/mlflow

Type: advisorySources: OSV

In MLflow versions prior to 3.14.0, when running with authentication enabled, the trace API endpoints lack proper authorization validators. This allows any authenticated user to bypass experiment-level authorization controls on all trace operations, including reading, deleting, and modifying traces on experiments they do not have permission to access. The issue arises from the `_before_request` handler, which does not register authorization validators for trace endpoints, resulting in requests proceeding without validation. This vulnerability can expose sensitive data, destroy audit logs, and allow unauthorized modifications.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-8147
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 04:44 UTC · Revision 1

Source evidence

Authorization Bypass in mlflow/mlflow

core-osv · Original source

Published 2 Jul 2026, 07:32 UTC

In MLflow versions prior to 3.14.0, when running with authentication enabled, the trace API endpoints lack proper authorization validators. This allows any authenticated user to bypass experiment-level authorization controls on all trace operations, including reading, deleting, and modifying traces on experiments they do not have permission to access. The issue arises from the `_before_request` handler, which does not register authorization validators for trace endpoints, resulting in requests proceeding without validation. This vulnerability can expose sensitive data, destroy audit logs, and allow unauthorized modifications.

osv:CVE-2026-8147
Complete source record
{
  "id": "695b358a33c0c34236474b490c8eaabc569074932ffbf9a9371fe5899634f272",
  "url": "https://osv.dev/vulnerability/CVE-2026-8147",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Authorization Bypass in mlflow/mlflow",
    "summary": "In MLflow versions prior to 3.14.0, when running with authentication enabled, the trace API endpoints lack proper authorization validators. This allows any authenticated user to bypass experiment-level authorization controls on all trace operations, including reading, deleting, and modifying traces on experiments they do not have permission to access. The issue arises from the `_before_request` handler, which does not register authorization validators for trace endpoints, resulting in requests proceeding without validation. This vulnerability can expose sensitive data, destroy audit logs, and allow unauthorized modifications.",
    "evidence": "osv:CVE-2026-8147",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-8147",
      "aliases": [
        "BIT-mlflow-2026-8147",
        "CVE-2026-8147",
        "GHSA-2cm6-r77w-6g96",
        "PYSEC-2026-3686"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mlflow/mlflow",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "86cd7f5a1dc25a1387ad07c87811bbc30f62951c"
                },
                {
                  "fixed": "f9b1eb510478570609ef451984a255775aa4b937"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:lfprojects:mlflow:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.14.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f9b1eb510478570609ef451984a255775aa4b937"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "ts/v0.2.0-rc.2",
            "ts/v0.2.0-rc.1",
            "model-catalog/latest",
            "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-8147.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.879415384Z",
      "provider": "osv",
      "references": [
        "https://huntr.com/bounties/b00c3ddd-373e-492f-9bf0-41a28bb21ed5",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8147.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-8147",
        "https://github.com/mlflow/mlflow/commit/f9b1eb510478570609ef451984a255775aa4b937"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-284"
        ],
        "cna_assigner": "@huntr_ai",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8147.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-8147",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492569,
  "published_at": "2026-07-02T07:32:58.308+00:00"
}