
एजेंट, स्किल्स और टूल्स (Gmail, Calendar) के साथ सेल्फ-होस्टेड AI वर्कस्पेस जो पूरी तरह से आपकी अपनी प्रोवाइडर API keys (BYOK) पर चलता है। अपनी खुद की keys लाएँ — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI।
org.asynchttpclient:async-http-client (AsyncHttpClient, "AHC") की 26 रिपॉज़िटरी-स्तरीय सुरक्षा सलाहों के लिए ऑफ़लाइन चेकर।
यह आपको बताता है कि आपका jar वास्तव में किन सलाहों के प्रति उजागर है, उन सलाहों को चिह्नित करता है जिन्हें Dependabot और OSV
नहीं देख सकते, और प्रति पंक्ति एक उत्तर देता है:
3.0.142.16.1
अभी भी 5 सलाहों से प्रभावित है जिन्हें ठीक नहीं किया जाएगा। एकमात्र समाधान 3.0.14 पर जाना है।एकल jar, शून्य रनटाइम निर्भरताएँ, पूर्णतः ऑफ़लाइन, Java 17+।
सुधार (2026-10-12, v0.2.0)। इस टूल और README के v0.1.0 में कहा गया था: "वैश्विक डेटाबेस 17 में से केवल 4 को सूचीबद्ध करता है", "Dependabot आपको 3.0.12 इंस्टॉल करने के लिए कहता है", "वास्तविक उत्तर
3.0.13/2.16.1है"। ये तीनों 2026-09-19 को सत्य थे और अब इनमें से कोई भी सत्य नहीं है: upstream ने 2026-09-24 को 5 और सलाहें प्रकाशित कीं (3.0.14में ठीक की गईं, 2.x पर ठीक नहीं की गईं), और 2026-10-08 को GitHub वैश्विक डेटाबेस ने 9 और प्रविष्टियाँ उठाईं। v0.1.03.0.13और2.16.1को स्वच्छ बताता है — वे नहीं हैं। v0.2.0 का उपयोग करें।
2026-09-24 को अनुरक्षकों ने पाँच सलाहें प्रकाशित कीं। प्रत्येक अपने Patches अनुभाग को इसी वाक्य के साथ समाप्त करती है:
2.x श्रृंखला जीवन-चक्र के अंत में है और इसे कोई समाधान नहीं मिलेगा। 3.0.14 पर अपग्रेड करें।
सभी पाँच एक 2.x रेंज सूचीबद्ध करती हैं जो 2.16.1 पर समाप्त होती है — Maven Central पर नवीनतम 2.x रिलीज़ — एक
खाली fixed संस्करण के साथ:
| सलाह | गंभीरता | 2.x रेंज | क्या | आवश्यकता |
|---|---|---|---|---|
CVE-2026-107230 | उच्च | >= 2.0.0, <= 2.16.1 | Pooled कनेक्शन अभी भी NTLM / Negotiate / proxy लॉगिन में साझा किए जाते हैं (GHSA-vvp4-63h8-v5pm का अपूर्ण समाधान) | किसी origin या proxy के लिए NTLM, Kerberos या SPNEGO, या SOCKS / CONNECT proxy पर कोई भी लॉगिन, और एक ही client के माध्यम से विभिन्न पहचानों के अंतर्गत अनुरोध। किसी origin के लिए Basic और Digest प्रभावित नहीं हैं |
CVE-2026-107227 | उच्च | >= 2.2.0, <= 2.16.1 | WebSocket permessage-deflate संदेश बिना किसी आकार सीमा के inflate किए जाते हैं | setEnablewebSocketCompression(true) — डिफ़ॉल्ट रूप से बंद — और एक अविश्वसनीय या cleartext WebSocket सर्वर |
CVE-2026-107228 | मध्यम | >= 2.1.0, <= 2.16.1 | setHeader / addHeader के साथ सेट किया गया Cookie हेडर cookie store के cookies द्वारा प्रतिस्थापित हो जाता है (CVE-2024-53990 समाधान का बायपास) | cookie store, डिफ़ॉल्ट रूप से चालू, उस origin के लिए कोई भी cookie रखता है |
CVE-2026-107226 | मध्यम | >= 2.1.0, <= 2.16.1 | plaintext HTTP पर प्राप्त cookie HTTPS पर सेट किए गए Secure cookie को लगा, अधिलेखित या हटा सकता है | एक ही साइट के plaintext और HTTPS origins के बीच साझा किया गया एक cookie store |
CVE-2026-107229 | मध्यम | >= 2.16.0, <= 2.16.1 | डिफ़ॉल्ट cookie store में अपूर्ण origin जाँच (public-suffix private section, IP hosts, …) | एक client जो कई origins तक पहुँचता है, उनमें से एक हमलावर-प्रभावित |
दो उच्च गंभीरता वालों के बारे में सटीक रहें: इनमें से कोई भी डिफ़ॉल्ट सेटिंग्स के साथ सादे अनुरोध करने वाले client पर लागू नहीं होता। CVE-2026-107227 के लिए WebSocket compression चालू होना आवश्यक है; CVE-2026-107230 के लिए NTLM / Kerberos / SPNEGO या एक प्रमाणित करने वाला proxy आवश्यक है। तीन मध्यम गंभीरता वाले वे हैं जो डिफ़ॉल्ट cookie store को छूते हैं। यह टूल नहीं जानता कि आप client का उपयोग कैसे करते हैं; यह वही रिपोर्ट करता है जो संस्करण रेंज कहती है और निर्णय आप पर छोड़ता है।
यह जो बदलता है: "2.16.1 पर अपग्रेड करें" अब कोई उत्तर नहीं है। 2.12.3 जैसे पुराने 2.x संस्करण को 2.16.1 तक बढ़ाया जा सकता है ताकि उन सलाहों को हटाया जा सके जिनका 2.x समाधान मौजूद है — और उसके बाद भी यह ऊपर की पाँच रेंजों के भीतर है (2.16.0 से नीचे से अपग्रेड करने पर CVE-2026-107229 तो जुड़ जाता है, जिसकी रेंज 2.16.0 से शुरू होती है)। टूल ठीक यही प्रिंट करता है, और 2.16.1 के लिए 1 के साथ बाहर निकलता है।
Dependabot और OSV परियोजना के अपने Security → Advisories पृष्ठ को नहीं पढ़ते। वे
GitHub वैश्विक सलाह डेटाबेस को पढ़ते हैं। 2026-10-12 तक, GET /advisories/<GHSA> 26 रिपॉज़िटरी सलाहों में से
9 के लिए 404 लौटाता है:
CVE-2026-107281, CVE-2026-107279, CVE-2026-107232,
CVE-2026-107284, CVE-2026-102740, CVE-2026-102737, CVE-2026-85718, CVE-2026-85719) —
इनमें से दो को अनुरक्षकों द्वारा उच्च श्रेणी दी गई है (CVE-2026-107232, CVE-2026-85719), दोनों
प्रॉक्सी क्रेडेंशियल्स से संबंधित हैं;CVE-2026-107229)।डेटाबेस पीछे चल रहा है — अगस्त के बैच में से 4 2026-09-17 को आए, 5 और 2026-10-08 को — इसलिए यह संख्या
बदलती रहेगी। प्रत्येक हिट Dependabot/全局库:已收录 / 未收录 ("वैश्विक डेटाबेस में है / नहीं है") के साथ
प्रिंट होता है, और टूल उस तारीख को प्रिंट करता है जिस दिन उसकी तालिका बनाई गई थी।
tools/recheck_before_publish.py आपको बताता है कि क्या आज भी यह अंतर मौजूद है।
3.x के लिए व्यावहारिक परिणाम अब छोटा है: केवल वैश्विक डेटाबेस से गणना करने पर, लक्ष्य भी 3.0.14 है।
संस्करणों <= 3.0.11 के लिए, दो अनुपस्थित उच्च सलाहकार आपको बस दिखाए ही नहीं जाते।
एक और अंतर जानने योग्य है: CVE-2026-107282 को अनुरक्षकों द्वारा उच्च और वैश्विक डेटाबेस में
गंभीर श्रेणी दी गई है। नियम तालिका अनुरक्षकों की रेटिंग रखती है।
CVE-2026-85721 (उच्च) वह है जो डिफ़ॉल्ट सेटिंग्स पर लागू होता है: स्वचालित प्रतिक्रिया
डीकंप्रेशन डिफ़ॉल्ट रूप से चालू है, और HTTP/1.1 पथ कुल आकार की कोई सीमा न रखते हुए बॉडी को फुलाता है।
एक दुर्भावनापूर्ण या समझौता किया गया सर्वर — या कोई भी जो पारगमन में प्रतिक्रिया को संशोधित कर सकता है —
एक छोटी gzip/deflate बॉडी भेज सकता है जो हीप को समाप्त कर देती है। प्रभावित: <= 3.0.11 और <= 2.16.0।
यह वाला वैश्विक डेटाबेस में है, इसलिए Dependabot इस पर अलर्ट देता है।
रेंजें >=, <=, <, एक स्पष्ट = 3.0.12, और एक नंगे 3.0.0 को मिलाती हैं। वही 3.0.11
CVE-2026-55688 (< 3.0.11) के लिए सुरक्षित है और CVE-2026-107232 (<= 3.0.11) के लिए
प्रभावित है। नियम तालिका प्रत्येक ऑपरेटर को ठीक वैसे ही रखती है जैसे लिखा गया है;
tools/gen_rules.py में एक एसेर्शन और एक यूनिट टेस्ट विफल हो जाते हैं यदि सीमा इस तरह व्यवहार करना
बंद कर दे। कोई भी रेंज अंश जिसे पार्सर नहीं पहचानता, एक त्रुटि है — कभी भी "प्रभावित नहीं" नहीं। एक
खाली फिक्स्ड संस्करण केवल तब स्वीकार किया जाता है जब सलाहकार पाठ स्वयं कहता है कि लाइन जीवनकाल
के अंत में है; इसे "इस लाइन पर कोई फिक्स नहीं" के रूप में संग्रहीत किया जाता है, कभी भी "प्रभावित
नहीं" के रूप में नहीं।
जहाँ रिपॉज़िटरी और वैश्विक डेटाबेस दोनों में एक सलाहकार है लेकिन रेंज पर असहमति है, वहाँ नियम तालिका
संघ लेती है। आज: CVE-2024-53990 (रिपॉज़िटरी केवल 3.x संस्करण 3.0.0 सूचीबद्ध करती है, वैश्विक
डेटाबेस 2.x >= 2.1.0, < 2.12.4 भी सूचीबद्ध करता है) और CVE-2026-107230 (वही रेंज, एक तरफ
<= 3.0.13 और दूसरी तरफ < 3.0.14 लिखी गई)।
pom.xml को स्कैन नहीं करता — जानबूझकरAHC आमतौर पर एक ट्रांज़िटिव निर्भरता होती है, जिसे किसी SDK या क्लाइंट लाइब्रेरी द्वारा खींचा जाता
है। artifactId आपके pom.xml में कभी नहीं दिख सकता। यह टूल उन jars के अंदर
META-INF/maven/org.asynchttpclient/async-http-client/pom.properties पढ़ता है जो वास्तव में शिप होते
हैं — जिनमें Spring Boot fat-jar (BOOT-INF/lib) या WAR (WEB-INF/lib) में नेस्टेड jars भी शामिल हैं।
लेगेसी 1.x कोऑर्डिनेट com.ning:async-http-client का वही artifactId है; यह सूचीबद्ध है लेकिन इसका
निर्णय नहीं किया जाता।
java -jar async-http-client-check.jar target/ # scan build output
java -jar async-http-client-check.jar myapp.jar # fat-jar / war, nested jars included
java -jar async-http-client-check.jar --version-of 2.16.1 # judge a version directly