
Hibernate ORM द्वितीय-क्रम 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 नियंत्रण वर्णों को अस्वीकार किया जा सके