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.

Impacted products
Name purl
mlflow pkg:pypi/mlflow
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'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.",
   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.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • 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.