Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-0897 — Die Zuweisung von Ressourcen ohne Begrenzung oder Drosselung in der HDF5-Gewichtsladekomponente in Google Keras 3.0.0 bis 3.13.0 auf allen Plattformen ermöglicht es einem entfernten Angreifer, einen Denial of Service (DoS) durch Speichererschöpfung und einen Absturz des Python-Interpreters über eine manipulierte .keras-Datei zu verursachen. | Kitploit
Tools/GitHubGitHub/hyperps/cve-2026-0897
SchwachstellenanalyseExploitationMalware-AnalysePapers & ForschungLernen & Bildung
GitHubhyperps/cve-2026-0897

CVE-2026-0897

Repository anzeigen
111vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Die Zuweisung von Ressourcen ohne Begrenzung oder Drosselung in der HDF5-Gewichtsladekomponente in Google Keras 3.0.0 bis 3.13.0 auf allen Plattformen ermöglicht es einem entfernten Angreifer, einen Denial of Service (DoS) durch Speichererschöpfung und einen Absturz des Python-Interpreters über eine manipulierte .keras-Datei zu verursachen.

Teilen

CVE-2026-0897 — Google Keras: Denial of Service durch HDF5-Shape-Bombe beim Laden von Gewichten


Übersicht

FeldDetails
CVE-IDCVE-2026-0897
Paketkeras (Google Keras)
RegistryPyPI
Betroffene Versionen3.0.0 bis 3.13.0 (einschließlich)
SchwachstellentypCWE-770: Zuweisung von Ressourcen ohne Grenzen oder Drosselung
CVSS-Score7.1 Hoch (CVSS 4.0, CNA: Google Inc.)
CVSS-VektorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
AngriffsvektorNetzwerk
AngriffskomplexitätNiedrig
Erforderliche PrivilegienKeine
BenutzerinteraktionPassiv (Opfer lädt eine Modelldatei)
Auswirkung auf VerfügbarkeitHoch
Auswirkung auf VertraulichkeitKeine
Auswirkung auf IntegritätKeine
NVD veröffentlicht15. Januar 2026
NVD zuletzt geändert23. Januar 2026
Quelle / CNAGoogle Inc.
Gemeldet vonHyperPS (Sarvesh Patil) über huntr.dev / GHSA
Fix-StatusZusammengeführt — PR #21880

Beschreibung

In der HDF5-Gewichtsladekomponente von Google Keras, Versionen 3.0.0 bis 3.13.0, besteht auf allen Plattformen eine Denial-of-Service-Schwachstelle. Die Schwachstelle wird durch das Fehlen jeglicher Validierung oder Drosselung bei der Verarbeitung von HDF5-Datensatz-Shape-Metadaten verursacht, die in einem .keras-Archiv deklariert sind.

Das HDF5-Format erlaubt es Datensätzen, ihre Form (Tensor-Dimensionen) als Metadaten zu deklarieren. Wenn Keras Modellgewichte aus einem .keras-Archiv lädt, liest es diese deklarierte Form und versucht, einen entsprechenden Speicherblock zu allokieren, bevor irgendwelche Daten übertragen werden. Da Keras vor der Allokation keine Grenzprüfung der deklarierten Form durchführt, kann ein Angreifer eine model.weights.h5-Datei erstellen, die eine astronomisch große Form deklariert — zum Beispiel (1000000, 1000000, 1000000) — wodurch Keras versucht, eine Speicherallokation im Petabyte-Bereich durchzuführen. Dies erschöpft den gesamten verfügbaren Systemspeicher und lässt den Python-Interpreter abstürzen.

Nach dem Laden des Modells sind keine Inferenz oder weitere Interaktionen erforderlich. Der Angriff wird vollständig zum Ladezeitpunkt ausgelöst.


Betroffene Komponente

DateiBeschreibung
keras/src/saving/file_editor.pyKerasFileEditor._extract_weights_from_store() — liest die HDF5-Datensatzform und allokiert Speicher ohne Größenvalidierung oder Drosselung

Die Schwachstelle befindet sich speziell in der Klasse KerasFileEditor, die für die Deserialisierung von Modellgewicht-Tensoren aus HDF5-Stores verantwortlich ist, die in .keras-Archiven eingebettet sind.


Aufschlüsselung des CVSS 4.0-Vektors

MetrikWertBedeutung
Angriffsvektor (AV)NetzwerkAus der Ferne über eine verteilte Modelldatei ausnutzbar
Angriffskomplexität (AC)NiedrigKeine besonderen Bedingungen oder Race Conditions erforderlich
Angriffsanforderungen (AT)KeineKeine vorausgesetzte Bereitstellungskonfiguration erforderlich
Erforderliche Privilegien (PR)KeineKeine Authentifizierung oder kein Konto erforderlich
Benutzerinteraktion (UI)PassivOpfer muss das bösartige .keras-Archiv laden
Verfügbarkeit des verwundbaren Systems (VA)HochPython-Interpreter stürzt ab; Dienst wird vollständig unverfügbar
Vertraulichkeit des verwundbaren Systems (VC)KeineKeine Offenlegung von Daten
Integrität des verwundbaren Systems (VI)KeineKeine Datenänderung
Auswirkungen auf nachgelagerte Systeme (SC/SI/SA)KeineDie Auswirkung ist auf den Ladeprozess beschränkt

Auswirkungen

  • Vollständiger Denial of Service — Der Python-Interpreter stürzt ab und der Prozess wird beendet, wenn das bösartige Archiv geladen wird
  • Speichererschöpfung — Der Systemspeicher (RAM) wird schnell verbraucht, um die deklarierte Allokation zu erfüllen, was möglicherweise andere, gemeinsam betriebene Dienste beeinträchtigt
  • Störung von ML-Pipelines — Jede Produktions- oder Forschungspipeline, die .keras-Modellarchive aus nicht vertrauenswürdigen oder benutzergelieferten Quellen lädt, ist verwundbar
  • Keine Authentifizierung erforderlich — Ein Angreifer benötigt nur, dass das Opfer ein bösartiges Archiv lädt; der Angriff erfordert keine Anmeldedaten und keinen vorherigen Zugriff

Einsatzszenarien mit hohem Risiko

KontextRisiko
Öffentliche Modell-Serving-APIs, die benutzerhochgeladene .keras-Dateien akzeptierenAngreifer bringt den Inferenzdienst mit einer einzigen Anfrage zum Absturz
ML-Plattformen, die Community-Modell-Downloads hosten (z. B. Hugging Face)Vergiftetes Modell verursacht DoS für jeden Forscher, der es herunterlädt und lädt
Umgebungen für föderiertes LernenBösartiger Teilnehmer verteilt eine präparierte Gewichtsdatei, um Koordinator- oder Peer-Knoten zum Absturz zu bringen
CI/CD-Pipelines, die Modell-Checkpoints ladenEin kompromittierter oder ausgetauschter Checkpoint verursacht Pipeline-Ausfälle und Nichtverfügbarkeit
Chatbots- oder NLP-Dienste, die Modelle zur Laufzeit per Hot-Reload nachladenEine einzige bösartige Neulade-Anfrage bringt den Dienst zum Erliegen

Technische Details

Angriffsmechanismus: HDF5-Shape-Bombe

Das HDF5-Dateiformat speichert Tensor-Metadaten — einschließlich Formdeklarationen — getrennt von den tatsächlichen Datenbytes. Wenn KerasFileEditor._extract_weights_from_store() auf einen Datensatzeintrag stößt, liest es die deklarierte Form und ruft NumPy auf, um ein Array der entsprechenden Dimensionen vorab zu allokieren, bevor irgendwelche Daten von der Festplatte gelesen werden.

Da die Form Metadaten sind, kann eine minimale HDF5-Datei eine Form deklarieren, die Petabytes an Speicher erfordern würde, während die Datei selbst nur wenige Kilobyte groß bleibt. Das Verhältnis von Dateigröße zu Allokationsgröße macht dies zu einem äußerst effektiven Verstärkungsangriff.

Eine Form wie (1000000, 1000000, 1000000) mit einem 32-Bit-Float-Datentyp würde ungefähr 4.000 Petabytes Speicher anfordern. Der Out-of-Memory-Killer des Betriebssystems oder der Python-Allokator lässt den Prozess nahezu sofort abstürzen.

Verwundbarer Codepfad (vor dem Fix)

# keras/src/saving/file_editor.py (pre-fix, simplified)
def _extract_weights_from_store(self, h5_file, inner_path=""):
    for key in h5_file.keys():
        obj = h5_file[key]
        if isinstance(obj, h5py.Dataset):
            # Shape is read from metadata — no validation performed
            shape = obj.shape
            # NumPy attempts to allocate based on declared shape
            data = np.zeros(shape, dtype=obj.dtype)  # VULNERABLE: unbounded allocation

Das Fehlen jeglicher Prüfung von shape vor dem Aufruf von np.zeros() ist die Grundursache.


Proof of Concept

Diese Informationen dienen ausschließlich Bildungs- und Verteidigungszwecken. Testen Sie nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung zum Testen haben.

Erzeugen eines bösartigen .keras-Archivs

# generate_shape_bomb.py
import h5py
import zipfile
import json
import os
Tool herunterladen