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.
{ "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" } ] }
- 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.