p PatchFirst

CVE-2026-12479

CVE-2026-12479 · Path Traversal in keras-team/keras

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

A path traversal vulnerability exists in keras-team/keras version 3.14.0, specifically in the `DiskIOStore.make` method within the Keras 3 model saving and loading library. This vulnerability arises from the improper handling of user-provided layer names, which are used to construct directory paths without sanitizing for parent directory components (`..`). While forward slashes (`/`) are restricted in layer names, directory traversal sequences are not. This allows an attacker to craft a malicious Keras model that, when saved or loaded, can escape the intended temporary working directory and perform unauthorized file system operations, such as creating directories or writing files in arbitrary locations.

CVSS 6.1 · Medium · EPSS 0.4% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • keras-team/keras

    Versions
    • ≥ unspecified, ≤ latest: Affected (custom)

    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.12.0
    • 3.12.1
    • 3.12.2
    • 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.3

    Update to 3.12.3

  • keras PyPI

    Versions
    • 3.13.0
    • 3.13.1
    • 3.13.2
    • 3.14.0
    • 3.14.1
    Affected ranges
    • ECOSYSTEM: ≥ 3.13.0, < 3.15.0

    Update to 3.15.0

  • 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.12.0
    • 3.12.1
    • 3.12.2
    • 3.13.0
    • 3.13.1
    • 3.13.2
    • 3.14.0
    • 3.14.1
    • 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.3 ∪ ≥ 3.13.0, < 3.15.0

    Update to 3.12.3; Update to 3.15.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 →