Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
scc-check — Spring Cloud Config CVE-2026-40982 के लिए ऑफ़लाइन जाँचकर्ता — बताता है कि आपकी संस्करण पंक्ति में OSS फिक्स है भी या नहीं (3.1.x/4.1.x/4.2.x: इसमें नहीं है) | Kitploit
उपकरण/GitHubGitHub/xiaoqimikko/scc-check
स्थैतिक विश्लेषणभेद्यता स्कैनरभेद्यता विश्लेषणDevSecOpsआपूर्ति श्रृंखला सुरक्षा
GitHubxiaoqimikko/scc-check

scc-check

Spring Cloud Config CVE-2026-40982 के लिए ऑफ़लाइन जाँचकर्ता — बताता है कि आपकी संस्करण पंक्ति में OSS फिक्स है भी या नहीं (3.1.x/4.1.x/4.2.x: इसमें नहीं है)

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

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

सभी देखें →

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

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

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

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

scc-check

Spring Cloud Config CVE-2026-40982 离线排查工具 —— 零依赖、单 jar、不联网。

它回答的不是「我受不受影响」,而是那个更难受的问题:

我这条版本线,在 Maven Central 上到底有没有能升的安全版?

对 3.1.x / 4.1.x / 4.2.x 三条线,答案是 没有。


为什么需要它

आधिकारिक advisory(spring.io/security/cve-2026-40982) द्वारा दिया गया फ़िक्स्ड संस्करण:

संस्करण श्रृंखलाआधिकारिक फ़िक्स्ड संस्करणउपलब्धताMaven Central पर उस श्रृंखला का उच्चतम संस्करणक्या आप अपग्रेड कर सकते हैं
3.1.x3.1.14Enterprise Support Only3.1.10❌
4.1.x4.1.10Enterprise Support Only4.1.7❌
4.2.x4.2.7Enterprise Support Only4.2.4❌
4.3.x4.3.3OSS4.3.4✅
5.0.x5.0.3OSS5.0.4✅

那三个修复版本不在公开仓库里。任何人都能验证:

curl -sI https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-config-server/4.2.7/
# HTTP/1.1 404 Not Found

और स्वचालित टूल आपको यह नहीं बताएंगे — GitHub advisory के संरचित डेटा में, इन तीनों लाइनों का first_patched_version बिल्कुल null है:

{"range": "<= 3.1.13",          "first_patched_version": null}
{"range": ">= 4.1.0, <= 4.1.9", "first_patched_version": null}
{"range": ">= 4.2.0, <= 4.2.6", "first_patched_version": null}
{"range": ">= 4.3.0, <= 4.3.2", "first_patched_version": "4.3.3"}
{"range": ">= 5.0.0, <= 5.0.2", "first_patched_version": "5.0.3"}

Dependabot / OSV ठीक इसी डेटा का उपभोग करते हैं। यदि कोई अपग्रेड लक्ष्य नहीं है, तो अपग्रेड सुझाव नहीं दिया जा सकता।


उपयोग

java -jar scc-check.jar <目录或 jar/war 路径>

# 中文乱码时(Windows 控制台代码页与 Java 判断常常对不上):
java -jar scc-check.jar target/ --utf8

Java 17+ आवश्यक है। रनटाइम पर शून्य निर्भरताएँ, सीधे ऑफ़लाइन वातावरण में डाला जा सकता है।

एग्ज़िट कोड: 2 वर्ज़न लाइन अपग्रेड नहीं हो सकती · 1 प्रभावित लेकिन अपग्रेड संभव / निर्धारित नहीं कर सकता · 0 नहीं मिला · 3 उपयोग या पथ त्रुटि

यह किन स्थानों की जाँच करता है

  • .jar / .war फ़ाइल नाम
  • Spring Boot fat jar और war की अंतर्निहित निर्भरताएँ (BOOT-INF/lib/, WEB-INF/lib/)
  • jar के अंदर Maven मेटाडेटा (META-INF/maven/.../pom.properties) — jar का नाम बदला गया हो तो भी पहचान लेता है
  • pom.xml

तीन चीज़ें जो यह जानबूझकर नहीं करता

1. क्लाइंट को प्रभावित नहीं मानता। यह CVE केवल सर्वर-साइड spring-cloud-config-server को प्रभावित करता है। जो प्रोजेक्ट spring-cloud-starter-config (क्लाइंट) को शामिल करते हैं, वे प्रभावित नहीं हैं, टूल आपको स्पष्ट रूप से बताएगा, बजाय आपको व्यर्थ घबराने के।

2. 4.0.x पर निर्णय नहीं देता। आधिकारिक advisory का कोई भी रेंज 4.0.x को कवर नहीं करता (4.0.0 > 3.1.13, निचली सीमा रहित वाली में नहीं आता)। टूल केवल "आधिकारिक कवरेज सीमा से बाहर" रिपोर्ट करता है, CRITICAL रिपोर्ट नहीं करता — अनुमान लगाकर निर्णय तालिका भरने से लोग गलत निर्णय ले सकते हैं।

3. वर्ज़न पढ़ न पाने पर स्पष्ट रूप से "निर्धारित नहीं कर सकता" कहता है, कभी भी सुरक्षित नहीं मानता। Spring Cloud release train से वर्ज़न को एकीकृत रूप से प्रबंधित करता है, pom.xml में अक्सर <version> बिल्कुल नहीं होता। ऐसी स्थिति में टूल आपको बिल्ड आर्टिफ़ैक्ट स्कैन करने के लिए कहेगा, बजाय यह दिखावा करने के कि कोई समस्या नहीं मिली। इसी तरह, scope जिनका test / provided है, वे निर्भरताएँ उपयोगकर्ता तक पारित नहीं होतीं, एक्सपोज़र सतह में नहीं गिनी जातीं; XML टिप्पणियों में लिपटी निर्भरताएँ हटा दी जाती हैं।


निर्णय तालिका जनरेट की गई है, हाथ से लिखी नहीं

tools/gen_rules.py दो प्राथमिक डेटा स्रोतों से RuleTable.java संकलित करता है:

  • GitHub advisory GHSA-6g23-24mc-hx6x → प्रभावित रेंज + आधिकारिक फ़िक्स्ड वर्ज़न
  • repo1.maven.org का maven-metadata.xml → सार्वजनिक रिपॉज़िटरी में वास्तव में मौजूद वर्ज़न

और चार एसेर्शन लाता है: रेंज संख्या ≥5, first_patched=null वाले ≥3, वर्ज़न लाइन ≥5, ENTERPRISE_ONLY के रूप में निर्धारित ≥3। कोई भी एक संतुष्ट न हो तो सीधे रोक दिया जाता है, फ़ाइल जनरेट नहीं होती — अन्यथा पार्सिंग विफल होते ही एक खाली तालिका उत्पन्न हो जाएगी, और यूनिट टेस्ट खाली तालिका के सामने फिर भी सभी हरे दिखेंगे।

python tools/gen_rules.py     # 重新生成判定表
mvn test                      # 31 个测试

अस्वीकरण

यह टूल केवल संस्करण तुलना करता है, यह जाँच नहीं करता कि आपका Config Server वास्तव में सार्वजनिक इंटरनेट पर उजागर है या नहीं, WAF है या नहीं, या किसी अन्य तरीके से पहले ही शमन किया गया है या नहीं। निर्णय परिणाम जाँच का प्रारंभिक बिंदु है, सुरक्षा निष्कर्ष नहीं। आधिकारिक advisory ही मानक है।

License

MIT


और गहन जाँच चाहिए?

यह टूल इस प्रश्न का उत्तर देता है कि "क्या मैं प्रभावित हूँ"। निम्नलिखित बातों का यह उत्तर नहीं दे सकता, इनके लिए आप मुझसे संपर्क कर सकते हैं:

  • निर्भरता को shade / relocate किया गया हो, या बिल्ड आर्टिफ़ैक्ट ही प्राप्त न हो पा रहा हो
  • यह तय करना हो कि "यह CVE हमारी कॉल चेन पर वास्तव में ट्रिगर होगी या नहीं", केवल संस्करण मिलान नहीं
  • आपकी अपनी बिल्ड प्रक्रिया या आंतरिक नेटवर्क वातावरण के अनुसार अनुकूलन करना हो, मौजूदा पाइपलाइन में जोड़ना हो
  • हाथ में किसी अन्य कंपोनेंट की समान समस्या हो, और तैयार टूल उपलब्ध न हो

📮 [email protected] —— स्थिति स्पष्ट करें, मैं 24 घंटे के भीतर आपको एक पृष्ठ का लिखित उत्तर दूँगा: हो सकता है या नहीं, कठिनाई कहाँ है, लगभग कितना समय लगेगा। यह चरण निःशुल्क है, और आपको पहले से किसी प्रतिबद्धता की आवश्यकता नहीं है।

एक्ज़िट कोड

कोडअर्थ
0स्कैन पूरा हुआ, और प्रत्येक फ़ाइल वास्तव में पढ़ी गई, कोई ऐसी खोज नहीं जिस पर आपको कार्रवाई करनी हो
4कोई फ़ाइल पढ़ी नहीं जा सकी —— zip नहीं है, सामग्री कटी हुई है, या पढ़ने में विफलता

🔴 4 को 2026-09-09 को जोड़ा गया था, और इसे जोड़ने का कारण स्पष्ट रूप से बताना उचित है। इससे पहले, अपठनीय फ़ाइलें आउटपुट में केवल एक पंक्ति का संकेत छोड़ती थीं, और एक्ज़िट कोड पहले की तरह 0 ही रहता था —— निशान मनुष्यों के देखने के लिए होता है, CI और स्क्रिप्ट एक्ज़िट कोड देखते हैं, इसलिए "मैं इसे पढ़ नहीं सका" स्वचालन में "पास" के बराबर हो गया। एक भ्रष्ट, एन्क्रिप्टेड या अधूरी डाउनलोड हुई jar चुपचाप "कोई समस्या नहीं मिली" में बदल जाती है।

"मैं इसे पढ़ नहीं सकता" और "आप सुरक्षित हैं" दो अलग वाक्य होने चाहिए।

⚠️ वैध खाली jar अपठनीय नहीं मानी जाती (22 बाइट का EOCD रिकॉर्ड एक वास्तविक खाली zip है), यह 4 ट्रिगर नहीं करेगी —— झूठे अलर्ट अधिक होंगे तो असली अलर्ट को कोई नहीं देखेगा।

शेष एक्ज़िट कोड के अर्थ के लिए ऊपर दिए गए विभिन्न निर्णय स्तरों और उपयोग निर्देशों को देखें।

टूल डाउनलोड करें