pysec-2024-244
Vulnerability from pysec
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.
Name | purl |
---|---|
mlflow | pkg:pypi/mlflow |
{ 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.
This schema specifies the format of a comment related to a security advisory.
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.