
CVE-2026-0603 का प्रमाण-अवधारणा और Docker लैब, जो Hibernate ORM बल्क DELETE/UPDATE संचालनों में द्वितीय-क्रम SQL इंजेक्शन को पुनरुत्पादित करता है, साथ में शमन मार्गदर्शन।
★ CVE-2026-0603 Hibernate SQL इंजेक्शन PoC ★
https://github.com/user-attachments/assets/2e7c3a89-e26f-48cd-af0b-8b82d32ce71f
CVE-2026-0603 Hibernate ORM में एक सेकंड-ऑर्डर SQL इंजेक्शन भेद्यता है, जो एक व्यापक रूप से उपयोग किया जाने वाला Java 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 के लिए, सभी रिकॉर्ड्स को हमलावर-प्रदत्त मानों के साथ संशोधित किया जाता है।
application.yml से InlineIdsOrClauseBulkIdStrategy सेटिंग हटाएंInlineIdsOrClauseBulkIdStrategy का उपयोग करना आवश्यक है, तो किसी भी उपयोगकर्ता-प्रदत्त प्राइमरी की मानों पर SQL नियंत्रण वर्णों को अस्वीकार करने के लिए सख्त व्हाइटलिस्ट-आधारित इनपुट सत्यापन लागू करें