Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-9335-keras-hdf5-externallink — CVE-2026-9335: KerasFileEditor und load_weights folgen h5py-ExternalLinks und legen so beliebige lokale HDF5-Dateiinhalte in keras ≤ 3.14.0 offen. Advisory + verifizierte PoCs. | Kitploit
Tools/GitHubGitHub/paparojonathan/cve-2026-9335-keras-hdf5-externallink
SchwachstellenanalyseExploitationPapers & ForschungLernen & BildungKuratierte Ressourcen
GitHubpaparojonathan/cve-2026-9335-keras-hdf5-externallink

CVE-2026-9335-keras-hdf5-externallink

CVE-2026-9335: KerasFileEditor und load_weights folgen h5py-ExternalLinks und legen so beliebige lokale HDF5-Dateiinhalte in keras ≤ 3.14.0 offen. Advisory + verifizierte PoCs.

Repository anzeigen
vor 4h 40mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-9335 — Keras HDF5 ExternalLink Offenlegung lokaler Dateiinhalte

CVE CVSS CWE-22 Affected Fixed

Zwei öffentliche Keras-APIs — keras.saving.KerasFileEditor und keras.saving.load_weights / — lesen HDF5-Gruppenmitglieder per ohne Linktyp-Prüfung. h5py / beim Indizieren, sodass eine vom Angreifer bereitgestellte -, - oder -Datei, die nur einen Link enthält, Keras dazu veranlasst, die Inhalte zu lesen.

model.load_weights
direktem Indexzugriff
dereferenziert automatisch
ExternalLink
SoftLink
.weights.h5
.h5
.keras
beliebiger HDF5-Dateien im lokalen Dateisystem des Opfers

Keras enthält bereits den korrekten Schutz (safe_get_h5_group / safe_get_h5_dataset in saving_lib.py) — diese beiden Einstiegspunkte rufen ihn lediglich nicht auf.

Auf einen Blick

CVECVE-2026-9335
Betroffenkeras-team/keras ≤ 3.14.0 (PyPI)
TypPfad-Traversal / Informationsoffenlegung (CWE-22, CWE-200)
CVSS 3.1AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N → 6.5 (Mittel)
AuswirkungOffenlegung beliebiger lokaler HDF5-Dateien, die das Opfer lesen kann
VektorOpfer öffnet/lädt eine bösartige .weights.h5- / .h5- / .keras-Datei
StatusBehoben in keras 3.15.0 (PR #22899 / #22900); validiert auf huntr (22.05.2026, Maintainer hertschuh)
MelderJonathan Paparo (jonathan-paparo)

Repository-Inhalte

PfadWas es ist
advisory/CVE-2026-9335.mdVollständige technische Dokumentation: Grundursache, beide Stellen, PoC-Ausgabe, Fix
poc/poc_file_editor.pyPoC 1 — KerasFileEditor folgt einem ExternalLink und gibt eine Opfer-h5-Datei preis
poc/poc_load_weights.pyPoC 2 — model.load_weights zieht Gewichte eines Opfers über ExternalLink
poc/requirements.txtFixierte Reproduktionsumgebung
docs/timeline.mdZeitplan der koordinierten Offenlegung

Grundursache (30 Sekunden)

root@kitploit:~
# keras/src/saving/saving_api.py  (load_weights, legacy .h5 branch)
with h5py.File(filepath, "r") as f:
    if "layer_names" not in f.attrs and "model_weights" in f:
        f = f["model_weights"]      # <-- ExternalLink hier wird von h5py automatisch dereferenziert

f["model_weights"] (und der analoge data[key]-Durchlauf in file_editor.py) folgt transparent einem Link in eine andere Datei. Das sichere Muster, das Keras anderswo verwendet, prüft den Linktyp zuerst:

root@kitploit:~
# keras/src/saving/saving_lib.py  (safe_get_h5_group)
group_type = parent.get(name, default=None, getclass=True, getlink=True)
if group_type in (h5py.ExternalLink, h5py.SoftLink):
    raise ValueError(f"Not allowed: H5 file with {group_type.__name__}")

Reproduktion

root@kitploit:~
python -m pip install -r poc/requirements.txt

# PoC 1 — KerasFileEditor gibt die Inhalte einer separaten Opfer-h5-Datei preis
KERAS_BACKEND=jax python poc/poc_file_editor.py

# PoC 2 — model.load_weights lädt die Gewichte einer Opferdatei über einen ExternalLink
KERAS_BACKEND=jax python poc/poc_load_weights.py

Jeder PoC erstellt seine eigenen Wegwerf-„Opfer“- und „Angreifer“-h5-Dateien im System-Temp-Verzeichnis, demonstriert das Leck, gibt *** VULNERABILITY CONFIRMED *** aus und räumt anschließend selbst auf. Verifiziert mit keras==3.14.0, Python 3.12.6, JAX-Backend.

Fix

Leiten Sie beide Stellen durch den vorhandenen safe_get_h5_group-Helfer oder fügen Sie eine data.get(key, default=None, getclass=True, getlink=True)-Vorprüfung hinzu, die (h5py.ExternalLink, h5py.SoftLink) vor dem Indizieren ablehnt. Siehe die Advisory für exakte Diffs.

Verantwortungsvolle Nutzung

Dieses Material wird nach koordinierter Offenlegung und CVE-Zuweisung zu defensiven und Bildungszwecken veröffentlicht. Die PoCs arbeiten nur mit Dateien, die sie selbst in einem Temp-Verzeichnis erstellen. Verwenden Sie diese Techniken nicht gegen Systeme oder Daten, deren Test Sie nicht autorisiert sind.

Danksagung

Entdeckt und gemeldet von Jonathan Paparo (huntr: jonathan-paparo). Validiert vom keras-team-Maintainer hertschuh.

Tool herunterladen