Path Traversal Vulnerability in keras-team/keras via Tar Archive Extraction in keras.utils.get_file() (keras-team keras-team/keras)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.71 % · percentile 54 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- @huntr_ai
- NVD status
- Deferred
Description
Keras version 3.11.3 is affected by a path traversal vulnerability in the keras.utils.get_file() function when extracting tar archives. The vulnerability arises because the function uses Python's tarfile.extractall() method without the security-critical filter='data' parameter. Although Keras attempts to filter unsafe paths using filter_safe_paths(), this filtering occurs before extraction, and a PATH_MAX symlink resolution bug triggers during extraction. This bug causes symlink resolution to fail due to path length limits, resulting in a security bypass that allows files to be written outside the intended extraction directory. This can lead to arbitrary file writes outside the cache directory, enabling potential system compromise or malicious code execution. The vulnerability affects Keras installations that process tar archives with get_file() and does not affect versions where this extraction method is secured with the appropriate filter parameter.
Weaknesses (CWE)
- CWE-22 — Improper Limitation of a Pathname to a Restricted Directory
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.0 | HIGH 8.0 | CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H | @huntr_ai |
| CVSS 3.0 | HIGH 8.0 | CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H | NVD · security@huntr.dev (Secondary) |
Advisories
- GHSA-9g7v-8wxv-mwxp — Duplicate Advisory: Keras keras.utils.get_file API is vulnerable to a path traversal attack
European references
- ENISA EUVD · EUVD-2025-199871
- GCVE · GCVE-0-2025-12638
CERT-FR advisories
- CERTFR-2025-AVI-1064 — Multiples vulnérabilités dans les produits Microsoft · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| keras-team · keras-team/keras | affected unspecified ≤ latest |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |