File disclosure and SSRF via external vocabularies
Published Oct 29, 2025 · Updated Oct 29, 2025
SSRF and local file disclosure in Keras before 3.12.0 allow attackers to abuse crafted .keras models during loading with safe mode enabled. IndexLookup.set_vocabulary treats an archive-controlled StringLookup or IntegerLookup vocabulary string as an external path and opens it through tf.io.gfile. Exploitation requires a user or process to load an untrusted model; remote fetching depends on available filesystem handlers, while local content enters the model vocabulary.
Summary
What happened
SSRF and local file disclosure in Keras before 3.12.0 allow attackers to abuse crafted .keras models during loading with safe mode enabled. IndexLookup.set_vocabulary treats an archive-controlled StringLookup or IntegerLookup vocabulary string as an external path and opens it through tf.io.gfile. Exploitation requires a user or process to load an untrusted model; remote fetching depends on available filesystem handlers, while local content enters the model vocabulary.
The record
- CVE
- CVE-2025-12058
- Published
- Oct 29, 2025
- Updated
- Oct 29, 2025
- Vendor
- Keras
- Product
- Keras
- Classifications
- CWE-502, CWE-918, T1204.002
- Attack vector
- adjacent
- Privileges
- authenticated
Timeline
How it unfolded
- Oct 29, 2025CVE publishedPublication date reported by the CVE source.
- Oct 29, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=0 <3.12.0
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Keras external-vocabulary model-loading PoCsproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo