p PatchFirst

CVE-2025-12060

CVE-2025-12060 · Keras keras.utils.get_file Utility Path Traversal Vulnerability

This page contains facts from public vulnerability sources. Check the original advisory before updating.

The keras.utils.get_file API in Keras, when used with the extract=True option for tar archives, is vulnerable to a path traversal attack. The utility uses Python's tarfile.extractall function without the filter="data" feature. A remote attacker can craft a malicious tar archive containing special symlinks, which, when extracted, allows them to write arbitrary files to any location on the filesystem outside of the intended destination folder. This vulnerability is linked to the underlying Python tarfile weakness, identified as CVE-2025-4517. Note that upgrading Python to one of the versions that fix CVE-2025-4517 (e.g. Python 3.13.4) is not enough. One additionally needs to upgrade Keras to a version with the fix (Keras 3.12).

CVSS 8.9 · High · EPSS 0.6% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • keras

    Versions
    • ≥ 3.0.0, ≤ 3.11.3: Affected (semver)

    No fix published

  • keras Debian:11

    Versions
    • 2.3.1+dfsg-3
    • 2.3.1+dfsg2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • keras PyPI

    Versions
    • 0.2.0
    • 0.3.0
    • 0.3.1
    • 0.3.2
    • 0.3.3
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 1.0.3
    • 1.0.4
    • 1.0.5
    • 1.0.6
    • 1.0.7
    • 1.0.8
    • 1.1.0
    • 1.1.1
    • 1.1.2
    • 1.2.0
    • 1.2.1
    • 1.2.2
    • 2.0.0
    • 2.0.1
    • 2.0.2
    • 2.0.3
    • 2.0.4
    • 2.0.5
    • 2.0.6
    • 2.0.7
    • 2.0.8
    • 2.0.9
    • 2.1.0
    • 2.1.1
    • 2.1.2
    • 2.1.3
    • 2.1.4
    • 2.1.5
    • 2.1.6
    • 2.10.0
    • 2.10.0rc0
    • 2.10.0rc1
    • 2.11.0
    • 2.11.0rc0
    • 2.11.0rc1
    • 2.11.0rc2
    • 2.11.0rc3
    • 2.12.0
    • 2.12.0rc0
    • 2.12.0rc1
    • 2.13.1
    • 2.13.1rc0
    • 2.13.1rc1
    • 2.14.0
    • 2.14.0rc0
    • 2.15.0
    • 2.15.0rc0
    • 2.15.0rc1
    • 2.2.0
    • 2.2.1
    • 2.2.2
    • 2.2.3
    • 2.2.4
    • 2.2.5
    • 2.3.0
    • 2.3.1
    • 2.4.0
    • 2.4.1
    • 2.4.2
    • 2.4.3
    • 2.5.0rc0
    • 2.6.0
    • 2.6.0rc0
    • 2.6.0rc1
    • 2.6.0rc2
    • 2.6.0rc3
    • 2.7.0
    • 2.7.0rc0
    • 2.7.0rc2
    • 2.8.0
    • 2.8.0rc0
    • 2.8.0rc1
    • 2.9.0
    • 2.9.0rc0
    • 2.9.0rc1
    • 2.9.0rc2
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.0.3
    • 3.0.4
    • 3.0.5
    • 3.1.0
    • 3.1.1
    • 3.10.0
    • 3.11.0
    • 3.11.1
    • 3.11.2
    • 3.11.3
    • 3.2.0
    • 3.2.1
    • 3.3.0
    • 3.3.1
    • 3.3.2
    • 3.3.3
    • 3.4.0
    • 3.4.1
    • 3.5.0
    • 3.6.0
    • 3.7.0
    • 3.8.0
    • 3.9.0
    • 3.9.1
    • 3.9.2
    Affected ranges
    • ECOSYSTEM: < 3.12.0

    Update to 3.12.0

  • keras Ubuntu:18.04:LTS

    Versions
    • 1.0.7-2
    • 2.1.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • keras Ubuntu:20.04:LTS

    Versions
    • 2.2.4-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →