
Windows और macOS पर CVE-2026-91403 (समझौता किए गए eMudhra इंटरमीडिएट) के लिए Java रनटाइम की जाँच करें और उन्हें ठीक करें — सहमति-प्रथम, कोई निर्भरता नहीं, कोई नेटवर्क नहीं।
Java प्रमाणपत्र भेद्यता (CVE-2026-91403) ब्लॉकलिस्ट-आधारित अस्थायी उपाय उपकरण — Windows / macOS
PC पर स्थापित सभी Java (Minecraft लॉन्चर, मॉड लॉन्चर, डेवलपमेंट टूल, स्वयं स्थापित JDK) को खोजता है, और जाँचता है कि OpenJDK द्वारा सुझाया गया अस्थायी उपाय (ब्लॉकलिस्ट में समस्या वाले 16 प्रमाणपत्र जोड़ना) किया गया है या नहीं। उपयोगकर्ता की सहमति होने पर, छूटे हुए आइटम जोड़ता है। चुनने पर, प्रत्येक Java को वास्तव में चलाकर यह भी जाँचता है कि नकली प्रमाणपत्र वास्तव में अस्वीकार किए जाते हैं या नहीं।
यह उपकरण पूर्ण समाधान नहीं है। यह Java को अपडेट नहीं करता, ट्रस्ट स्टोर (cacerts) को ठीक नहीं करता, और प्रमाणपत्र निरसन जाँच (revocation check) को चालू नहीं करता। मूल समाधान Java और लॉन्चर को संशोधित संस्करण में अपडेट करना है। अधिक जानकारी के लिए 3. इस उपकरण की सीमाएँ पढ़ें।
बिना किसी बाहरी लाइब्रेरी के, केवल Rust मानक लाइब्रेरी से बनाया गया है, इसलिए src/ और probe/ फ़ोल्डर पढ़कर ही यह पता लगाया जा सकता है कि यह क्या करता है।
English: see English below.
अक्टूबर 2026 में, यह पता चला कि प्रमाणन प्राधिकरण eMudhra के 8 मध्यवर्ती प्रमाणपत्रों की निजी कुंजी कोई भी प्राप्त कर सकता है। उसी कुंजी से Sectigo "AAA Certificate Services" द्वारा क्रॉस-साइन किए गए प्रमाणपत्रों को मिलाकर कुल 16 हैं।
अन-संशोधित Java इन प्रमाणपत्रों पर भरोसा करता है, इसलिए यदि हमलावर उसी नेटवर्क (सार्वजनिक Wi-Fi आदि) पर है, तो वह किसी भी साइट के रूप में प्रतिरूपित नकली प्रमाणपत्र बना सकता है और Java उसे असली के रूप में स्वीकार कर लेता है। उदाहरण के लिए, Minecraft लॉगिन (सत्र) सर्वर या मॉड डाउनलोड सर्वर के रूप में प्रतिरूपण किया जा सकता है।
OpenJDK द्वारा सुझाए गए उपाय निम्नलिखित तीन में से एक हैं।
| आधिकारिक उपाय | यह उपकरण |
|---|---|
| Java को संशोधित संस्करण में अपडेट करें (Oracle/OpenJDK के अनुसार 25.0.5.0.2, 21.0.13.0.2, 17.0.21.0.2, 11.0.33.0.2, 8u511 या उससे ऊपर) | ❌ नहीं करता (केवल मार्गदर्शन) |
blocked.certs (Java 8 में blacklisted.certs) से समस्या वाले प्रमाणपत्रों को ब्लॉक करें | ✅ 16 जोड़ता है |
प्रमाणपत्र निरसन जाँच चालू करें (-Dcom.sun.net.ssl.checkRevocation=true -Dcom.sun.security.enableCRLDP=true) | ❌ नहीं करता (कारण) |
संदर्भ सामग्री
impacted-intermediates.json)| चरण | विवरण | इंटरनेट |
|---|---|---|
| फ़ाइल जाँच | मिले प्रत्येक Java के लिए lib/security/blocked.certs (Java 8 में blacklisted.certs) और release फ़ाइल पढ़कर देखता है कि 16 प्रमाणपत्र ब्लॉक सूची में हैं या नहीं। | उपयोग नहीं |
| वास्तविक कनेक्शन जाँच (वैकल्पिक) | प्रत्येक Java को वास्तव में चलाकर 2 परीक्षण साइटों और Mojang सेशन सर्वर से कनेक्ट करके देखता है कि नकली प्रमाणपत्र अस्वीकार किए जाते हैं या नहीं। विस्तार से | केवल यह चरण उपयोग करता है |
| ब्लॉक सूची में जोड़ना | केवल छूटे हुए प्रमाणपत्र फ़िंगरप्रिंट को फ़ाइल के अंत में जोड़ता है। मौजूदा पंक्तियों को न हटाता है न बदलता है, और मूल को blocked.certs.bak-cve-2026-91403 के रूप में बैकअप करता है। जोड़ने के बाद फ़ाइल को फिर से पढ़कर जाँचता है। | उपयोग नहीं |
| वापस लौटाना | बैकअप को मूल स्थान पर कॉपी करता है। | उपयोग नहीं |
Y दर्ज करना होगा तभी आगे बढ़ेगा। अन्य सभी इनपुट "नहीं" माने जाते हैं।%LOCALAPPDATA%\JavaFix, macOS में ~/Library/Logs/JavaFix में क्या जाँचा और क्या बदला गया, इसका रिकॉर्ड रखता है।cacerts) को नहीं बदलता। रूट प्रमाणपत्र हटाने से सामान्य साइटें भी ब्लॉक हो सकती हैं, इसलिए इसे छेड़ता नहीं।
(उदाहरण: Sectigo "AAA Certificate Services" एक रूट है जिसका उपयोग कई सामान्य साइटें करती हैं।)Releases पृष्ठ से अपने ऑपरेटिंग सिस्टम के अनुकूल फ़ाइल डाउनलोड करें।
| ऑपरेटिंग सिस्टम | फ़ाइल |
|---|---|
| Windows (अधिकांश PC) | javafix-windows-x64.exe |
| Windows (ARM लैपटॉप) | javafix-windows-arm64.exe |
| macOS (Intel / Apple Silicon सामान्य) | javafix-macos-universal.zip |
प्राप्त फ़ाइल के मूल होने की जाँच करने के लिए SHA256SUMS के मान से तुलना करें।
certutil -hashfile javafix-windows-x64.exe SHA256 (Windows)
shasum -a 256 javafix-macos-universal.zip (macOS)
Windows
javafix-windows-x64.exe पर डबल-क्लिक करें।macOS
javafix-macos-universal.zip डाउनलोड करें और अनज़िप करें (Safari स्वचालित रूप से अनज़िप करता है)। एक javafix-macos फ़ोल्डर बन जाएगा।javafix.command पर डबल-क्लिक करें, तो टर्मिनल खुलकर इसे चलाएगा।javafix.command पर राइट-क्लिक → खोलें → खोलें पर क्लिक करें।टर्मिनल से सीधे चलाने के लिए:
cd ~/Downloads/javafix-macos
xattr -d com.apple.quarantine javafix.command
./javafix.command
v0.1.0का असंपीड़ितjavafix-macos-universalफ़ाइल डाउनलोड करने पर उसकी निष्पादन अनुमति चली जाती है, इसलिए डबल-क्लिक करने पर टेक्स्ट एडिटर "टेक्स्ट एन्कोडिंग यूनिकोड (UTF-8) लागू नहीं है" त्रुटि दिखाता है।v0.1.1से इसे zip में वितरित किया जाता है।