Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-0897 — Google Keras 3.0.0 से 3.13.0 तक के सभी प्लेटफार्मों पर HDF5 वेट लोडिंग घटक में सीमाओं या थ्रॉटलिंग के बिना संसाधनों का आवंटन, एक दूरस्थ हमलावर को एक क्राफ्टेड .keras फ़ाइल के माध्यम से मेमोरी समाप्ति और Python इंटरप्रेटर के क्रैश के जरिए डिनायल ऑफ सर्विस (DoS) उत्पन्न करने की अनुमति देता है। | Kitploit
उपकरण/GitHubGitHub/hyperps/cve-2026-0897
भेद्यता विश्लेषणशोषणमालवेयर विश्लेषणपेपर और शोधलर्निंग और शिक्षा
GitHubhyperps/cve-2026-0897

CVE-2026-0897

रिपॉजिटरी देखें
1116 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

विवरण

Google Keras 3.0.0 से 3.13.0 तक के सभी प्लेटफार्मों पर HDF5 वेट लोडिंग घटक में सीमाओं या थ्रॉटलिंग के बिना संसाधनों का आवंटन, एक दूरस्थ हमलावर को एक क्राफ्टेड .keras फ़ाइल के माध्यम से मेमोरी समाप्ति और Python इंटरप्रेटर के क्रैश के जरिए डिनायल ऑफ सर्विस (DoS) उत्पन्न करने की अनुमति देता है।

साझा करें

CVE-2026-0897 — Google Keras: HDF5 Shape Bomb के माध्यम से सेवा अस्वीकार (Denial of Service)


अवलोकन

क्षेत्रविवरण
CVE IDCVE-2026-0897
पैकेजkeras (Google Keras)
रजिस्ट्रीPyPI
प्रभावित संस्करण3.0.0 से 3.13.0 (सम्मिलित)
भेद्यता प्रकारCWE-770: सीमा या थ्रॉटलिंग के बिना संसाधनों का आवंटन
CVSS स्कोर7.1 उच्च (CVSS 4.0, CNA: Google Inc.)
CVSS वेक्टरCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
आक्रमण वेक्टरनेटवर्क
आक्रमण जटिलतानिम्न
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता इंटरैक्शननिष्क्रिय (पीड़ित एक मॉडल फ़ाइल लोड करता है)
उपलब्धता पर प्रभावउच्च
गोपनीयता पर प्रभावकोई नहीं
अखंडता पर प्रभावकोई नहीं
NVD प्रकाशित15 जनवरी, 2026
NVD अंतिम संशोधित23 जनवरी, 2026
स्रोत / CNAGoogle Inc.
रिपोर्टकर्ताHyperPS (Sarvesh Patil) via huntr.dev / GHSA
फ़िक्स स्थितिविलय — PR #21880

विवरण

Google Keras संस्करण 3.0.0 से 3.13.0 (सभी प्लेटफ़ॉर्म पर) के HDF5 वज़न लोडिंग घटक में एक सेवा अस्वीकार (Denial of Service) भेद्यता मौजूद है। यह भेद्यता इसलिए होती है क्योंकि .keras आर्काइव के अंदर घोषित HDF5 डेटासेट आकार मेटाडेटा को संसाधित करते समय कोई सत्यापन या थ्रॉटलिंग नहीं की जाती।

HDF5 प्रारूप डेटासेट को अपने आकार (टेंसर आयाम) को मेटाडेटा के रूप में घोषित करने की अनुमति देता है। जब Keras .keras आर्काइव से मॉडल वज़न लोड करता है, तो वह इस घोषित आकार को पढ़ता है और डेटा स्थानांतरित होने से पहले मेमोरी का एक संगत ब्लॉक आवंटित करने का प्रयास करता है। चूंकि Keras आवंटन से पहले घोषित आकार पर कोई सीमा जांच नहीं करता, एक हमलावर model.weights.h5 फ़ाइल बना सकता है जो एक खगोलीय रूप से बड़ा आकार घोषित करती है — उदाहरण के लिए (1000000, 1000000, 1000000) — जिससे Keras पेटाबाइट-स्तरीय मेमोरी आवंटन का प्रयास करता है। यह सभी उपलब्ध सिस्टम मेमोरी को समाप्त कर देता है और Python इंटरप्रेटर को क्रैश कर देता है।

मॉडल लोड होने के बाद किसी अनुमान या अतिरिक्त इंटरैक्शन की आवश्यकता नहीं है। हमला लोड होने के समय पूरी तरह से सक्रिय हो जाता है।


प्रभावित घटक

फ़ाइलविवरण
keras/src/saving/file_editor.pyKerasFileEditor._extract_weights_from_store() — HDF5 डेटासेट आकार पढ़ता है और आकार सत्यापन या थ्रॉटलिंग के बिना मेमोरी आवंटित करता है

भेद्यता विशेष रूप से KerasFileEditor वर्ग में स्थित है, जो .keras आर्काइव में एम्बेडेड HDF5 स्टोर से मॉडल वज़न टेंसर को डिसीरियलाइज़ करने के लिए जिम्मेदार है।


CVSS 4.0 वेक्टर विश्लेषण

मीट्रिकमानअर्थ
आक्रमण वेक्टर (AV)नेटवर्कदूरस्थ रूप से एक वितरित मॉडल फ़ाइल के माध्यम से शोषणीय
आक्रमण जटिलता (AC)निम्नकोई विशेष शर्तें या रेस स्थितियाँ आवश्यक नहीं
आक्रमण आवश्यकताएँ (AT)कोई नहींकोई पूर्व-आवश्यक तैनाती कॉन्फ़िगरेशन आवश्यक नहीं
आवश्यक विशेषाधिकार (PR)कोई नहींकोई प्रमाणीकरण या खाता आवश्यक नहीं
उपयोगकर्ता इंटरैक्शन (UI)निष्क्रियपीड़ित को दुर्भावनापूर्ण .keras आर्काइव लोड करना होगा
कमजोर सिस्टम उपलब्धता (VA)उच्चPython इंटरप्रेटर क्रैश हो जाता है; सेवा पूरी तरह से अनुपलब्ध हो जाती है
कमजोर सिस्टम गोपनीयता (VC)कोई नहींकोई डेटा प्रकटीकरण नहीं
कमजोर सिस्टम अखंडता (VI)कोई नहींकोई डेटा संशोधन नहीं
बाद के सिस्टम पर प्रभाव (SC/SI/SA)कोई नहींप्रभाव लोडिंग प्रक्रिया तक सीमित है

प्रभाव

  • पूर्ण सेवा अस्वीकार — दुर्भावनापूर्ण आर्काइव लोड होने पर Python इंटरप्रेटर क्रैश हो जाता है और प्रक्रिया समाप्त हो जाती है
  • मेमोरी समाप्ति — घोषित आवंटन को पूरा करने के प्रयास में सिस्टम RAM तेजी से खपत होती है, जो संभावित रूप से अन्य सह-स्थित सेवाओं को प्रभावित करती है
  • ML पाइपलाइनों में व्यवधान — कोई भी उत्पादन या अनुसंधान पाइपलाइन जो अविश्वसनीय या उपयोगकर्ता-आपूर्ति स्रोतों से .keras मॉडल आर्काइव लोड करती है, कमजोर है
  • कोई प्रमाणीकरण आवश्यक नहीं — हमलावर को केवल पीड़ित द्वारा एक दुर्भावनापूर्ण आर्काइव लोड कराने की आवश्यकता है; हमले के लिए कोई क्रेडेंशियल या पूर्व पहुँच की आवश्यकता नहीं

उच्च-जोखिम तैनाती संदर्भ

संदर्भजोखिम
सार्वजनिक मॉडल सेवा APIs जो उपयोगकर्ता-अपलोड की गई .keras फ़ाइलों को स्वीकार करती हैंहमलावर एकल अनुरोध के साथ अनुमान सेवा को क्रैश कर देता है
सामुदायिक मॉडल डाउनलोड होस्ट करने वाले ML प्लेटफ़ॉर्म (जैसे Hugging Face)ज़हरीला मॉडल किसी भी शोधकर्ता के लिए DoS का कारण बनता है जो इसे डाउनलोड और लोड करता है
संघीय शिक्षण (Federated Learning) वातावरणदुर्भावनापूर्ण प्रतिभागी समन्वयक या सहकर्मी नोड्स को क्रैश करने के लिए एक तैयार वज़न फ़ाइल वितरित करता है
CI/CD पाइपलाइनें जो मॉडल चेकपॉइंट लोड करती हैंएक समझौता या प्रतिस्थापित चेकपॉइंट पाइपलाइन विफलता और अनुपलब्धता का कारण बनता है
चैटबॉट या NLP सेवाएँ जो रनटाइम पर मॉडल को हॉट-रीलोड करती हैंएकल दुर्भावनापूर्ण रीलोड अनुरोध सेवा को नीचे लाता है

तकनीकी विवरण

आक्रमण तंत्र: HDF5 Shape Bomb

HDF5 फ़ाइल प्रारूप टेंसर मेटाडेटा — जिसमें आकार घोषणाएँ शामिल हैं — को वास्तविक डेटा बाइट्स से अलग संग्रहीत करता है। जब KerasFileEditor._extract_weights_from_store() एक डेटासेट प्रविष्टि का सामना करता है, तो वह घोषित आकार पढ़ता है और डिस्क से कोई डेटा पढ़ने से पहले संबंधित आयामों का NumPy सरणी पूर्व-आवंटित करने के लिए कॉल करता है।

क्योंकि आकार मेटाडेटा है, एक न्यूनतम HDF5 फ़ाइल एक ऐसा आकार घोषित कर सकती है जिसके लिए पेटाबाइट्स मेमोरी की आवश्यकता होगी, जबकि फ़ाइल स्वयं केवल कुछ किलोबाइट आकार की रहती है। फ़ाइल आकार और आवंटन आकार का अनुपात इसे एक अत्यधिक प्रभावी प्रवर्धन हमला बनाता है।

(1000000, 1000000, 1000000) जैसा आकार 32-बिट फ़्लोट डेटाटाइप के साथ लगभग 4,000 पेटाबाइट मेमोरी का अनुरोध करेगा। OS आउट-ऑफ-मेमोरी किलर या Python आवंटनकर्ता लगभग तुरंत प्रक्रिया को क्रैश कर देगा।

कमजोर कोड पथ (फ़िक्स से पहले)

# 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

np.zeros() को कॉल करने से पहले shape पर किसी भी जांच का अभाव मूल कारण है।


प्रूफ ऑफ कॉन्सेप्ट

यह जानकारी केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रदान की गई है। उन सिस्टमों पर परीक्षण न करें जिनके आप मालिक नहीं हैं या जिनका परीक्षण करने के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।

एक दुर्भावनापूर्ण .keras आर्काइव बनाना

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

# Step 1: Create a minimal HDF5 weights file with a hostile shape declaration
with h5py.File("model.weights.h5", "w") as f:
    grp = f.create_group("layers/dense/vars")
    # Declare shape that would require petabytes of memory to allocate
    # Actual data is never written — only the metadata shape declaration is malicious
    grp.create_dataset(
        "0",
        shape=(0,),           # actual stored data: empty
        maxshape=(None,),
        dtype="float32",
        data=[]
    )
    # Override shape metadata to declare hostile dimensions
    # (achieved via direct HDF5 attribute manipulation in a real attack)
टूल डाउनलोड करें