Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/paparojonathan/cve-2026-9335-keras-hdf5-externallink
تحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليمموارد منسقة
GitHubpaparojonathan/cve-2026-9335-keras-hdf5-externallink

CVE-2026-9335-keras-hdf5-externallink

CVE-2026-9335: KerasFileEditor وload_weights يتبعان روابط h5py الخارجية، مما يكشف عن محتويات ملفات HDF5 المحلية التعسفية في keras ≤ 3.14.0. استشارة أمنية + براهين مفهوم تم التحقق منها.

عرض المستودع
منذ 4 ساعاتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-9335 — كشف محتوى الملفات المحلية عبر HDF5 ExternalLink في Keras

CVE CVSS CWE-22 Affected Fixed

واجهتا برمجة عامتان في Keras — keras.saving.KerasFileEditor و keras.saving.load_weights / — تقرآن أعضاء مجموعة HDF5 عبر دون التحقق من نوع الرابط. يقوم h5py لـ / عند الفهرسة، لذا فإن ملف أو أو مقدم من المهاجم ويحتوي فقط على رابط يؤدي إلى قراءة Keras لمحتويات .

model.load_weights
الفهرسة المباشرة
بإلغاء الإحالة تلقائيًا
ExternalLink
SoftLink
.weights.h5
.h5
.keras
ملفات HDF5 عشوائية على نظام الملفات المحلي للضحية

تشحن Keras بالفعل الحارس الصحيح (safe_get_h5_group / safe_get_h5_dataset في saving_lib.py) — نقطتا الدخول هاتان ببساطة لا تستدعيانها.

نظرة سريعة

CVECVE-2026-9335
المتأثرkeras-team/keras ≤ 3.14.0 (PyPI)
النوعاجتياز المسار / كشف المعلومات (CWE-22, CWE-200)
CVSS 3.1AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N → 6.5 (متوسط)
الأثركشف أي ملف HDF5 محلي يمكن للضحية قراءته
ناقل الهجومتفتح/تحمّل الضحية ملف .weights.h5 / .h5 / .keras خبيثًا
الحالةتم الإصلاح في keras 3.15.0 (PR #22899 / #22900)؛ تم التحقق على huntr (2026-05-22، المشرف hertschuh)
المُبلّغJonathan Paparo (jonathan-paparo)

محتويات المستودع

المسارما هو
advisory/CVE-2026-9335.mdتوثيق تقني كامل: السبب الجذري، كلا الموقعين، مخرجات PoC، الإصلاح
poc/poc_file_editor.pyPoC 1 — KerasFileEditor يتبع ExternalLink ويكشف ملف h5 للضحية
poc/poc_load_weights.pyPoC 2 — model.load_weights يسحب أوزان الضحية عبر ExternalLink
poc/requirements.txtبيئة إعادة إنتاج مثبتة
docs/timeline.mdالجدول الزمني للكشف المنسق

السبب الجذري (30 ثانية)

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 هنا يتم إلغاء إحالته تلقائيًا بواسطة h5py

f["model_weights"] (والمسح المماثل data[key] في file_editor.py) يتبع بشفافية رابطًا إلى ملف آخر. النمط الآمن الذي تستخدمه Keras في أماكن أخرى يتحقق مسبقًا من نوع الرابط:

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__}")

إعادة الإنتاج

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

# PoC 1 — KerasFileEditor يكشف محتويات ملف h5 منفصل للضحية
KERAS_BACKEND=jax python poc/poc_file_editor.py

# PoC 2 — model.load_weights يحمّل أوزان ملف الضحية عبر ExternalLink
KERAS_BACKEND=jax python poc/poc_load_weights.py

ينشئ كل PoC ملفات "ضحية" و"مهاجم" مؤقتة خاصة به تحت دليل النظام المؤقت، ويوضح الكشف، ويطبع *** VULNERABILITY CONFIRMED ***، وينظف بعد نفسه. تم التحقق على keras==3.14.0، Python 3.12.6، خلفية JAX.

الإصلاح

وجّه كلا الموقعين عبر المساعد الموجود safe_get_h5_group، أو أضف فحصًا مسبقًا data.get(key, default=None, getclass=True, getlink=True) يرفض (h5py.ExternalLink, h5py.SoftLink) قبل الفهرسة. راجع التوثيق للحصول على الفروقات الدقيقة.

الاستخدام المسؤول

تُنشر هذه المادة لأغراض دفاعية وتعليمية بعد الكشف المنسق وتعيين CVE. تعمل PoCs فقط على الملفات التي تنشئها بنفسها في دليل مؤقت. لا تستخدم هذه التقنيات ضد أنظمة أو بيانات غير مصرح لك باختبارها.

الإشادة

اكتشفه وأبلغ عنه Jonathan Paparo (huntr: jonathan-paparo). تم التحقق منه بواسطة مشرف keras-team hertschuh.

تنزيل الأداة