CVE Intelligence
Medium Insecure deserialization

CVE-2025-12058 — Vulnerability in Keras Model.load_model Leading to Arbitrary Local File Loading and SSRF

The Keras.Model.load_model method, including when executed with the intended security mitigation safe_mode=True, is vulnerable to arbitrary local file loading and Server-Side Request Forgery (SSRF). This vulnerability stems from the way the StringLookup layer is handled during model loading from a specially crafted .keras archive. The constructor for the StringLookup layer accepts a vocabulary argument that can specify a local file path or a remote file path. * Arbitrary Local File Read: An attacker can create a malicious .keras file that embeds a local path in the StringLookup layer's configuration. When the model is loaded, Keras will attempt to read the content of the specified local file and incorporate it into the model state (e.g., retrievable via get_vocabulary()), allowing an attacker to read arbitrary local files on the hosting system. * Server-Side Request Forgery (SSRF): Keras utilizes tf.io.gfile for file operations. Since tf.io.gfile supports remote filesystem handlers (such as GCS and HDFS) and HTTP/HTTPS protocols, the same mechanism can be leveraged to fetch content from arbitrary network endpoints on the server's behalf, resulting in an SSRF condition. The security issue is that the feature allowing external path loading was not properly restricted by the safe_mode=True flag, which was intended to prevent such unintended data access.

Published Oct 29, 2025 · Updated Oct 13, 2026 · Sources: NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP · CNA: Google

Who exploits it and how urgent it is

A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.

No exploitation signal in the sources consulted so far.
How the score was calculated
  • EPSS 0.2% (30-day exploitation probability)+2
  • Technical severity (medium)+3

The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).

Triage

Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.

Exploitation
Not confirmed
Not in CISA KEV — an absence of record, not proof it is unexploited.
EPSS FIRST
0.25%
ahead of 15% of scored CVEs · Oct 14, 2026
Affects
Keras
Keras
CVSS base
5.9
Medium · 2 source(s)

CISA SSVC assessment CISA

Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.

Exploitation
None
none · proof-of-concept · active
Automatable
No
can an attacker script the kill-chain steps
Technical impact
Partial
partial · total control of the vulnerable component

Remediation

Fixes and mitigations documented by the sources — linked to the original advisory.

No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.

First 24 hours

Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.

  1. Identify exposed assets running the affected vendor/product/version combinations (Keras Keras).
  2. No fix documented in the sources: reduce exposure and monitor the vendor advisory.
  3. Exploitation requires user interaction: tighten email/web filtering and warn affected users.
  4. Search available logs for exploit probes matching the vulnerability class (insecure deserialization), errors and authentication anomalies.

Affected scope

Vendor, product and versions as the sources word them.

VendorProductVersionsStatusSource
Keras Keras < 3.12.0 Vulnerable CVE Program (cve.org) e CISA ADP

Attack characteristics

The CVSS vector, decoded. It describes the attack, not your exposure to it.

Attack vector
Adjacent
Attack complexity
High
Attack requirements
Present
Privileges required
Low
User interaction
Passive
Scope
X
Confidentiality (vulnerable system)
High
Integrity (vulnerable system)
Low
Availability (vulnerable system)
Low
Confidentiality (subsequent)
High
Integrity (subsequent)
Low
Availability (subsequent)
Low

Every base score collected

Sources score independently and may disagree; each row says who scored it and under which version.

ScoreVersionSeverityExpl.ImpactScored by
5.9 CVSS 4.0 Medium — — cve-coordination@google.com via NIST National Vulnerability Database
5.9 CVSS 4.0 Medium — — Google via CVE Program (cve.org) e CISA ADP
CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:P/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X (score shown at the top: cve-coordination@google.com)

Weakness MITRE

Weakness class according to MITRE’s CWE catalog.

CWE-502 · Deserialization of Untrusted Data

Other CVEs with this weakness →

EPSS over time FIRST

Oct 13, 2026 → Oct 14, 2026 · 2 reading(s) · max 0.25%

Detection

Read off the CVSS vector and the weakness class. Starting points, not tested rules.

  • Monitor serialized objects in requests and unexpected processes spawned by the runtime.
endpoint telemetry (EDR)application logs

Timeline

What happened to this CVE, newest first.

  • 2026
  • Affected products added · keras/keras
    Oct 13, 2026 · CVE Program (cve.org) e CISA ADP
  • SSVC assessment updated
    Oct 13, 2026 · CVE Program (cve.org) e CISA ADP
  • Record published
    Oct 13, 2026
  • CVSS changed · 5.9
    Oct 13, 2026 · NIST National Vulnerability Database
  • Source status changed · → Deferred
    Oct 13, 2026 · NIST National Vulnerability Database
  • Record created in this database
    Oct 13, 2026 · NIST National Vulnerability Database
  • 2025
  • CVE published
    Oct 29, 2025 · Google

Source activity

Repeated readings are counted rather than listed.

  • 1× Official description updated · Oct 13, 2026 – Oct 13, 2026

References

2 on the record

Elsewhere on this site

Keras
every CVE for this vendor
CWE-502
other pages naming this weakness

Related CVEs (same products)

  • Medium CVE-2026-12482 Path Traversal via Symlink Name Validation Bypass in keras-team/keras Jul 14, 2026
  • Critical CVE-2026-12481 Deserialization of Untrusted Data in keras-team/keras Jul 3, 2026
  • High CVE-2026-11816 Path Traversal in keras-team/keras Jun 11, 2026
  • High CVE-2026-1462 Safe Mode Bypass in keras-team/keras Apr 13, 2026
  • High CVE-2026-1669 Arbitrary File Read in Keras via HDF5 External Datasets Feb 11, 2026
  • High CVE-2026-0897 Denial of Service in Keras via Excessive Memory Allocation in HDF5 Metadata Jan 15, 2026

Not in any source we poll

Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.

  • No fixed version, patch or mitigation documented.
  • No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
  • No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
  • No exploit packet captures, log samples, or incident case IDs supplied.

Answered from this record

Text assembled only from the fields above — no additional claims.

What should defenders know first?

CVE-2025-12058 is "Vulnerability in Keras Model.load_model Leading to Arbitrary Local File Loading and SSRF", rated Medium. It affects Keras (Keras); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. CVSS 5.9 describes technical severity. EPSS 0.25% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.

Comments

Moderated technical discussion. Read the community guidelines.

No comments yet.

Sign in or create an account to comment and suggest corrections.