Database/AI/ML frameworks & serving
Keras: malicious .keras/.h5 weights file reads arbitrary local files via HDF5 ExternalLinks
Impact
Keras <= 3.14.0 dereferences HDF5 ExternalLinks when loading weights, so a model file supplied by someone else can pull in the contents of arbitrary files on the machine doing the load. The safe_get_h5_group/safe_get_h5_dataset helpers that reject ExternalLinks and SoftLinks are bypassed on these two paths. On a shared GPU fleet the loading process is usually a training job or a model-conversion step running with the tenant's or the platform's service credentials, so the disclosed content can include tokens, kubeconfigs, or another job's checkpoint data mounted into the same container. It is a read primitive only - no code execution is claimed in this record - and it requires the victim to load the attacker's file (UI:R).
Who can reach it
Anyone who can get a crafted .h5, .weights.h5 or .keras file loaded by a victim - a model pushed to a shared registry or artifact bucket, a fine-tune submitted to a training service, or a hub download. No authentication to the target; user interaction (the load) is required.
What to do
Upgrade Keras past 3.14.0 to a release containing commit 23370f1, which routes these paths through the safe link-checking helpers, and restart any serving or training workers that have the old version imported. No configuration workaround is documented; until upgraded, treat model files from untrusted sources as executable input and load them in a sandbox with no credentials mounted.
References
Related entries
- vLLM OpenAI-compatible server (chat_template / chat_template_kwargs): NOISY-NEIGHBOUR DENIAL OF SERVICE: one tenantNCVD-2025-018-vllm-openai-compatible-server-ch · vLLM OpenAI-compatible server (chat_template / chat_template_kwargs)Medium
- Ray (GCS Redis credential handling / logging): When the Redis password is passed on the Ray command line it getsCVE-2025-1979 · Ray (GCS Redis credential handling / logging)Medium
- KServe ModelMesh: Group-writable `/etc/passwd` in the container imageCVE-2025-57852 · KServe ModelMeshMedium
- TrustyAI Service Operator: unauthenticated access to AI guardrail and orchestrator APIsCVE-2026-15044 · TrustyAI Service Operator (Red Hat OpenShift AI)Medium
- llama.cpp: oversized seq_id in a saved slot file leaks heap memory past the cells arrayCVE-2026-43630 · llama.cpp server (recurrent memory state slot-restore path)Medium
- OpenLLM: Local file inclusion via the web applicationCVE-2024-8982 · OpenLLMMedium
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.