pysec-2024-244
Vulnerability from pysec
Published
2024-05-16 09:15
Modified
2025-04-08 10:23
Details

A path traversal vulnerability exists in mlflow/mlflow version 2.11.0, identified as a bypass for the previously addressed CVE-2023-6909. The vulnerability arises from the application's handling of artifact URLs, where a '#' character can be used to insert a path into the fragment, effectively skipping validation. This allows an attacker to construct a URL that, when processed, ignores the protocol scheme and uses the provided path for filesystem access. As a result, an attacker can read arbitrary files, including sensitive information such as SSH and cloud keys, by exploiting the way the application converts the URL into a filesystem path. The issue stems from insufficient validation of the fragment portion of the URL, leading to arbitrary file read through path traversal.

Aliases



{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "mlflow",
        "purl": "pkg:pypi/mlflow"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "f8d51e21523238280ebcfdb378612afd7844eca8"
            },
            {
              "fixed": "f8d51e21523238280ebcfdb378612afd7844eca8"
            }
          ],
          "repo": "https://github.com/mlflow/mlflow",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "2.12.1"
            }
          ],
          "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",
        "1.29.0",
        "1.3.0",
        "1.30.0",
        "1.30.1",
        "1.4.0",
        "1.5.0",
        "1.6.0",
        "1.7.0",
        "1.7.1",
        "1.7.2",
        "1.8.0",
        "1.9.0",
        "1.9.1",
        "2.0.0",
        "2.0.0rc0",
        "2.0.1",
        "2.1.0",
        "2.1.1",
        "2.10.0",
        "2.10.1",
        "2.10.2",
        "2.11.0",
        "2.11.1",
        "2.11.2",
        "2.11.3",
        "2.11.4",
        "2.12.0",
        "2.2.0",
        "2.2.1",
        "2.2.2",
        "2.3.0",
        "2.3.1",
        "2.3.2",
        "2.4.0",
        "2.4.1",
        "2.4.2",
        "2.5.0",
        "2.6.0",
        "2.7.0",
        "2.7.1",
        "2.8.0",
        "2.8.1",
        "2.9.0",
        "2.9.1",
        "2.9.2"
      ]
    }
  ],
  "aliases": [
    "CVE-2024-3848"
  ],
  "details": "A path traversal vulnerability exists in mlflow/mlflow version 2.11.0, identified as a bypass for the previously addressed CVE-2023-6909. The vulnerability arises from the application\u0027s handling of artifact URLs, where a \u0027#\u0027 character can be used to insert a path into the fragment, effectively skipping validation. This allows an attacker to construct a URL that, when processed, ignores the protocol scheme and uses the provided path for filesystem access. As a result, an attacker can read arbitrary files, including sensitive information such as SSH and cloud keys, by exploiting the way the application converts the URL into a filesystem path. The issue stems from insufficient validation of the fragment portion of the URL, leading to arbitrary file read through path traversal.",
  "id": "PYSEC-2024-244",
  "modified": "2025-04-08T10:23:25.092581+00:00",
  "published": "2024-05-16T09:15:14+00:00",
  "references": [
    {
      "type": "EVIDENCE",
      "url": "https://huntr.com/bounties/8d5aadaa-522f-4839-b41b-d7da362dd610"
    },
    {
      "type": "FIX",
      "url": "https://github.com/mlflow/mlflow/commit/f8d51e21523238280ebcfdb378612afd7844eca8"
    },
    {
      "type": "REPORT",
      "url": "https://huntr.com/bounties/8d5aadaa-522f-4839-b41b-d7da362dd610"
    },
    {
      "type": "WEB",
      "url": "https://huntr.com/bounties/8d5aadaa-522f-4839-b41b-d7da362dd610"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...

Loading...
  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.