Listen to this Post
The vulnerability in ClearML arises from insufficient validation of symbolic and hard links within the `safe_extract` function during archive extraction. When processing a malicious archive, the function does not properly sanitize the paths of these links. This allows an attacker to create a crafted archive containing a symbolic or hard link that points to a location outside the intended target directory. During extraction, the linked file is written to this arbitrary filesystem location, leading to an arbitrary file write. If an attacker can overwrite a critical file, such as a system or application script, this can be leveraged to achieve remote code execution on the host server.
Platform: ClearML
Version: < 2.0.2
Vulnerability : Path Traversal
Severity: Moderate
date: 2025-10-05
Prediction: 2025-10-19
What Undercode Say:
Creating a malicious tar archive with a symlink
ln -s /etc/passwd malicious_link
tar -cvf exploit.tar malicious_link
Example of a potentially vulnerable extraction call
from clearml.utilities.archive import safe_extract
safe_extract('exploit.tar', '/tmp/target_dir')
How Exploit:
An attacker crafts a TAR archive containing a symbolic link pointing to a critical file like `/etc/passwd` or a web application script. When this archive is uploaded and processed by the vulnerable ClearML server’s `safe_extract` function, the symlink is followed, and the contents of the linked file are written to the attacker-chosen location outside the extraction directory, potentially overwriting existing files.
Protection from this CVE
Upgrade ClearML to version 2.0.2 or later, which patches the `safe_extract` function. Sanitize all archive filenames and paths before extraction. Run the ClearML service with minimal filesystem permissions.
Impact:
Arbitrary File Write, Potential Remote Code Execution, System Compromise.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

