CVE-2025-12060: Keras Directory Traversal Vulnerability
Keras’s keras.utils.get_file() function is vulnerable to directory traversal attacks despite implementing filter_safe_paths(). The vulnerability exists because extract_archive() uses Python’s tarfile.extractall() method without the security-critical filter="data" parameter. A PATH_MAX symlink resolution bug occurs before path filtering, allowing malicious tar archives to bypass security checks and write files outside the intended extraction directory.
References
- github.com/advisories/GHSA-hjqc-jx6g-rwp9
- github.com/keras-team/keras
- github.com/keras-team/keras/commit/47fcb397ee4caffd5a75efd1fa3067559594e951
- github.com/keras-team/keras/pull/21760
- github.com/keras-team/keras/security/advisories/GHSA-hjqc-jx6g-rwp9
- huntr.com/bounties/f94f5beb-54d8-4e6a-8bac-86d9aee103f4
- nvd.nist.gov/vuln/detail/CVE-2025-12060
- nvd.nist.gov/vuln/detail/CVE-2025-12638
Code Behaviors & Features
Detect and mitigate CVE-2025-12060 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →