
Hibernate ORM حقن SQL من الدرجة الثانية
★ CVE-2026-0603 إثبات مفهوم حقن Hibernate SQL ★
https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f
CVE-2026-0603 هو ثغرة حقن SQL من الدرجة الثانية في Hibernate ORM، وهو إطار عمل ORM لجافا واسع الانتشار.
عندما يُستخدم مفتاح أساسي نصي مُقدَّم من المستخدم يحتوي على حمولة SQL خبيثة في عملية DELETE أو UPDATE جماعية، يُدرج Hibernate القيمة مباشرةً في جملة WHERE دون تعقيم، مما يؤدي إلى حذف أو تعديل جماعي غير مقصود لسجلات قاعدة البيانات.
| الفئة | الإصدار |
|---|
| المتأثرة | Hibernate ORM 5.2.8 ≤ الإصدار ≤ 5.6.15 |
| المُصحَّحة | لا يوجد تصحيح رسمي (5.6.x EOL) |
docker build -t cve-2026-0603-hibernate-vuln .
docker run --rm -it -p 8080:8080 --name hibernate-vuln cve-2026-0603-hibernate-vuln
بعد تشغيل البيئة المعرّضة للثغرة، اتبع الخطوات أدناه لإعادة إنتاج الهجوم.
username: ' or '1' = '1
انقر على زر التحديث أو الحذف في الحساب المسجَّل.
تحقق من أن استعلام DELETE أو UPDATE قد طُبِّق على جميع الصفوف، وليس فقط على الحساب المسجَّل. في حالة DELETE، تُحذف جميع السجلات عبر كلا الجدولين. في حالة UPDATE، تُعدَّل جميع السجلات بالقيم المُقدَّمة من المهاجم.
InlineIdsOrClauseBulkIdStrategy من application.ymlInlineIdsOrClauseBulkIdStrategy، فطبِّق تحققًا صارمًا من المدخلات قائمًا على القائمة البيضاء على أي قيم مفاتيح أساسية مُقدَّمة من المستخدم لرفض أحرف التحكم في SQL