PT-2026-113968 · Git+1 · Ludwig
CVE-2026-104103
·
Published
2026-10-14
·
Updated
2026-10-14
CVSS v3.1
8.1
High
| Vector | AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
Name of the Vulnerable Software and Affected Versions
Ludwig versions prior to 0.17.8
Description
An issue exists in the
extract archive() function within ludwig.datasets.archives where tar member names are validated before calling TarFile.extractall(), but symlink and hard-link members are not. A specially crafted archive can create a link that escapes the extraction directory, allowing attacker-controlled content to be written to an arbitrary filesystem path with the privileges of the extracting process. Additionally, the containment check utilizes os.path.commonprefix, which may allow sibling paths sharing the destination's character prefix to pass. This can occur when processing archives from compromised sources on Python 3.12 and 3.13 runtimes.Recommendations
Update to version 0.17.8.
Exploit
Fix
Path traversal
Link Following
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Ludwig