
यह रिपॉजिटरी CVE-2025-52999, GHSA-2m67-wjpj-xhg9 और sonatype-2022-6438 में रिपोर्ट किए गए सेवा-अस्वीकरण (denial-of-service) और बिना सीमा या थ्रॉटलिंग के संसाधन आवंटन (allocation of resources without limits or throttling) सुरक्षा कमजोरियों का एक व्यापक सुरक्षा सुधार प्रदान करती है, साथ ही jackson‑core 2.13.5 के साथ पूर्ण संगतता बनाए रखती है।
का अनुवाद: # जैक्सन कोर 2.13.5 में सुरक्षा कमजोरियों का विश्लेषण और निवारण
यह शाखा (2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9) jackson-core 2.13.5 को लक्षित करने वाली denial-of-service (DoS) और Allocation of Resources Without Limits or Throttling कमजोरियों का एक व्यापक सुरक्षा निवारण प्रदान करती है। यह StreamReadConstraints API प्रस्तुत करती है — जो jackson-core 2.15.0 में प्रस्तुत API के अनुरूप है लेकिन व्यापक पार्सर कवरेज और अतिरिक्त आक्रमण-वेक्टर सुरक्षाओं के साथ विस्तारित है — जो एक नेस्टिंग-गहराई थकावट हमले (CVE-2025-52999), बिना सीमा या थ्रॉटलिंग के संसाधन आवंटन (SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924), एक दस्तावेज़ लंबाई बाधा बाईपास (SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 / GHSA-2m67-wjpj-xhg9), और एक संख्यात्मक टोकन लंबाई थकावट हमले (Sonatype-2022-6438) का समाधान करती है, जबकि jackson-core संस्करण 2.13.5 के सार्वजनिक API सतह के साथ संगत रहती है।
| शाखा | संबोधित कमजोरियाँ |
|---|---|
2.13.5-CVE-2025-52999-sonatype-2022-6438 | CVE-2025-52999, Sonatype-2022-6438, SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924 |
2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9 | All of the above + GHSA-2m67-wjpj-xhg9 (document length constraint bypass) |
मूल शाखा (2.13.5-CVE-2025-52999-sonatype-2022-6438) तीन कमजोरियों का निवारण करती है और इसे sasso रिमोट पर संरक्षित किया गया है। यह शाखा इसे GHSA-2m67-wjpj-xhg9 के अतिरिक्त निवारण के साथ विस्तारित करती है, जो सभी पार्सर पथों पर maxDocumentLength को लागू करता है।
| आईडी | प्रकार | गंभीरता | CVSS | अपस्ट्रीम फिक्स |
|---|---|---|---|---|
| CVE-2025-52999 | सेवा अस्वीकार — असीमित नेस्टिंग गहराई | High | 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) | jackson-core 2.15.0 |
| Sonatype-2022-6438 / SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538 | सेवा अस्वीकार — असीमित संख्यात्मक टोकन लंबाई | High | 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) | jackson-core 2.15.0 |
| SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924 | बिना सीमा या थ्रॉटलिंग के संसाधन आवंटन | High | 8.7 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) | jackson-core 2.18.6, 2.21.1 or higher. |
| SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 / GHSA-2m67-wjpj-xhg9 | बिना सीमा या थ्रॉटलिंग के संसाधन आवंटन — दस्तावेज़ लंबाई बाधा बाईपास | High | 8.7 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) | jackson-core 2.18.7, 2.21.2 or higher. |
| संस्करण | CVE-2025-52999 | Sonatype-2022-6438 / SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538 | SNYK-JAVA-COMFASTERXMLJACKSONCORE-15365924 | SNYK-JAVA-COMFASTERXMLJACKSONCORE-15907551 |
|---|---|---|---|---|
| 2.13.5 | असुरक्षित | असुरक्षित | असुरक्षित | असुरक्षित |
| 2.13.5-CVE-2025-52999-sonatype-2022-6438 | निवारित | निवारित | निवारित | असुरक्षित |
| 2.13.5-CVE-2025-52999-sonatype-2022-6438-GHSA-2m67-wjpj-xhg9 | निवारित | निवारित | निवारित | निवारित |
| 2.14.x | असुरक्षित | असुरक्षित | असुरक्षित | असुरक्षित |
| 2.15.x | निवारित | निवारित | असुरक्षित | असुरक्षित |
| 2.16.x | निवारित | निवारित | असुरक्षित | असुरक्षित |
| 2.17.x | निवारित | निवारित | असुरक्षित | असुरक्षित |
| 2.18.6+ | निवारित | निवारित | निवारित | असुरक्षित |
| 2.18.7+ | निवारित | निवारित | निवारित | निवारित |
| 2.21.1+ | निवारित | निवारित | निवारित | असुरक्षित |
| 2.21.2+ | निवारित | निवारित | निवारित | निवारित |
NVD प्रविष्टि
| फ़ील्ड | मान |
|---|---|
| CVE आईडी | CVE-2025-52999 |
| प्रकाशित | 2025-06-25 |
| अंतिम संशोधित | 2025-06-26 |
| स्रोत (CNA) | GitHub, Inc. |
| CVSS v4.0 स्कोर | 8.7 HIGH — CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| CWE | CWE-121 — Stack-based Buffer Overflow |
| GitHub सलाह | GHSA-h46c-h94j-95f3 |
| अपस्ट्रीम फिक्स PR | jackson-core#943 |
आधिकारिक NVD विवरण
jackson-core में कोर निम्न-स्तरीय वृद्धिशील ("स्ट्रीमिंग") पार्सर और जनरेटर सारांश शामिल हैं जिनका उपयोग Jackson डेटा प्रोसेसर द्वारा किया जाता है। 2.15.0 से पहले के संस्करणों में, यदि कोई उपयोगकर्ता किसी इनपुट फ़ाइल को पार्स करता है और उसमें गहराई से नेस्टेड डेटा होता है, तो Jackson एक
StackOverflowErrorफेंक सकता है यदि गहराई विशेष रूप से अधिक हो। jackson-core 2.15.0 में Jackson द्वारा इनपुट दस्तावेज़ में कितनी गहराई तक ट्रैवर्स किया जाएगा, इसके लिए एक कॉन्फ़िगरेबल सीमा शामिल है, जो डिफ़ॉल्ट रूप से 1,000 की अनुमत गहराई पर सेट है। यदि सीमा पहुँच जाती है तो jackson-core एकStreamConstraintsExceptionफेंकेगा। jackson-databind भी इस परिवर्तन से लाभान्वित होता है क्योंकि यह JSON इनपुट को पार्स करने के लिए jackson-core का उपयोग करता है। वर्कअराउंड के रूप में, उपयोगकर्ताओं को अविश्वसनीय स्रोतों से इनपुट फ़ाइलों को पार्स करने से बचना चाहिए।
वर्कअराउंड: निवारित संस्करण तैनात होने तक अविश्वसनीय स्रोतों से JSON इनपुट पार्स करने से बचें।
मूल कारण: 2.15.0 से पहले, JsonParser ने एक JSON दस्तावेज़ कितनी गहराई तक नेस्टेड हो सकता है, इस पर कोई सीमा नहीं लगाई थी। प्रत्येक ऐरे [ या ऑब्जेक्ट { टोकन के कारण JsonReadContext.createChildArrayContext() / createChildObjectContext() हीप पर एक नया संदर्भ नोड आवंटित करता था और एक संदर्भ श्रृंखला बढ़ाता था। एक हमलावर दसियों हज़ार नेस्टेड स्तरों वाला एक दस्तावेज़ बना सकता है, जिससे जावा वर्चुअल मशीन का थ्रेड-स्टैक या हीप मेमोरी समाप्त हो सकती है।
असुरक्षित कोड पथ: