CVE-2025-12058 in Keras
Riassunto
di VulDB • 17/06/2026
Il metodo Keras.Model.load_model, anche quando eseguito con la mitigazione di sicurezza intesa safe_mode=True, è vulnerabile al caricamento arbitrario di file locali e a Server-Side Request Forgery (SSRF).
Questa vulnerabilità deriva dal modo in cui lo strato StringLookup viene gestito durante il caricamento del modello da un archivio .keras appositamente creato. Il costruttore dello strato StringLookup accetta un argomento vocabulary che può specificare un percorso di file locale o un percorso di file remoto.
* Lettura arbitraria di file locali: Un attaccante può creare un file .keras malevolo che incorpora un percorso locale nella configurazione dello strato StringLookup. Quando il modello viene caricato, Keras tenterà di leggere il contenuto del file locale specificato e di incorporarlo nello stato del modello (ad esempio, recuperabile tramite get_vocabulary()), consentendo all'attaccante di leggere file locali arbitrari sul sistema ospitante.
* Server-Side Request Forgery (SSRF): Keras utilizza tf.io.gfile per le operazioni sui file. Poiché tf.io.gfile supporta handler per filesystem remoti (come GCS e HDFS) e i protocolli HTTP/HTTPS, lo stesso meccanismo può essere sfruttato per recuperare contenuti da endpoint di rete arbitrari per conto del server, determinando una condizione di SSRF.
Il problema di sicurezza è che la funzionalità che consente il caricamento di percorsi esterni non è stata adeguatamente limitata dal flag safe_mode=True, che era inteso per prevenire tale accesso ai dati non previsto.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.