
CVE-2025-23419 का पायथन स्क्रिप्ट स्कैनर safe-check
CVE-2025-23419 के लिए सुरक्षित मान्यता स्क्रिप्ट वाला रिपॉजिटरी, यह एक ऐसी कमजोरी है जो NGINX, mTLS और TLS session resumption से संबंधित है।
स्क्रिप्ट एक ह्यूरिस्टिक जांच करती है ताकि इस दोष के संपर्क में आने की संभावना की पहचान हो सके, बिना सक्रिय शोषण किए और बिना क्लाइंट प्रमाणपत्र प्रमाणीकरण को दरकिनार करने का प्रयास किए।
इसका उद्देश्य अधिकृत वातावरणों में तकनीकी छँटाई, रक्षात्मक मान्यता और एक्सपोज़र विश्लेषण में सहायता करना है।
| CVE | तकनीक | प्रकार | प्रभावित घटक |
|---|---|---|---|
CVE-2025-23419 | NGINX | संभावित mTLS प्रमाणीकरण बायपास | वर्चुअल होस्ट्स पर TLS session resumption |
CVE-2025-23419 उन परिदृश्यों को प्रभावित करती है जहाँ NGINX के कई server blocks एक ही IP और पोर्ट साझा करते हैं, और वातावरण क्लाइंट प्रमाणपत्र प्रमाणीकरण (जिसे mTLS भी कहा जाता है) का उपयोग करता है।
कुछ कॉन्फ़िगरेशन में, एक हमलावर पहले से स्थापित TLS सत्र को पुनः उपयोग करके किसी अन्य वर्चुअल होस्ट के संदर्भ में क्लाइंट प्रमाणपत्र प्रमाणीकरण की आवश्यकताओं को दरकिनार कर सकता है।
यह कमजोरी TLS session resumption के उपयोग से संबंधित है, विशेषकर जब ssl_session_cache या ssl_session_tickets सक्षम हों।
व्यवहार में, एक्सपोज़र कमजोर संस्करण, TLS 1.3 के उपयोग, TLS सत्र कॉन्फ़िगरेशन, कई वर्चुअल होस्ट्स और वातावरण के विशिष्ट भागों में mTLS के अनुप्रयोग के संयोजन पर निर्भर करता है।
सार्वजनिक सलाहकारों के अनुसार, यह समस्या निम्नलिखित को प्रभावित करती है:
NGINX 1.11.4 और बाद के संस्करण
जब निम्नलिखित शर्तें मौजूद हों:
NGINX को OpenSSL के साथ संकलित किया गया हो
TLS 1.3 सक्षम हो
Session resumption सक्षम हो
ssl_session_cache या ssl_session_tickets का उपयोग हो
एक ही IP और पोर्ट पर कई server blocks हों
किसी वर्चुअल होस्ट पर mTLS/क्लाइंट प्रमाणपत्र प्रमाणीकरण हो
सुधार निम्नलिखित संस्करणों में प्रकाशित किया गया था:
NGINX 1.26.3
NGINX 1.27.4
इसलिए, एक संस्करण जैसे:
nginx/1.24.0
को संभावित रूप से कमजोर माना जाना चाहिए, बशर्ते कि कॉन्फ़िगरेशन परिदृश्य भी इस दोष के अनुकूल हो।
महत्वपूर्ण: अकेला कमजोर संस्करण शोषण की पुष्टि नहीं करता। यह कॉन्फ़िगरेशन के सत्यापन की आवश्यकता को इंगित करता है।
| स्क्रिप्ट | उद्देश्य | कब उपयोग करें |
|---|---|---|
safe-check-CVE-2025-23419.py | CVE-2025-23419 के संभावित एक्सपोज़र के लिए एक सुरक्षित और ह्यूरिस्टिक जाँच करता है। | जब लक्ष्य संभावित रूप से कमजोर NGINX दिखाता है और mTLS/TLS session resumption के उपयोग का संदेह हो। |
स्क्रिप्ट कमजोरी के संकेत जुटाने के लिए सुरक्षित जाँच करती है:
Server हेडर की पहचान करने का प्रयास करती है;POSSIVEL (संभव) या NAO_INDICADO (संकेत नहीं) दर्शाता है।यह स्क्रिप्ट कमजोरी का शोषण नहीं करती।
यह निम्नलिखित का प्रयास नहीं करती:
इसका उद्देश्य केवल तकनीकी छँटाई और रक्षात्मक सत्यापन में सहायता के लिए संकेत जुटाना है।
इस स्क्रिप्ट का उपयोग तब करें जब निम्नलिखित में से एक या अधिक संकेत हों:
सर्वर nginx/1.24.0 दिखाता है
वातावरण mTLS का उपयोग करता है
एक ही IP और पोर्ट पर कई वर्चुअल होस्ट मौजूद हैं
TLS 1.3 का उपयोग है
ssl_session_cache या ssl_session_tickets सक्षम होने का संदेह है
स्वचालित उपकरण ने CVE-2025-23419 का संकेत दिया है
उपयुक्त लक्ष्यों के उदाहरण:
https://api.exemplo.com.br/
https://admin.exemplo.com.br/
https://mtls.exemplo.com.br/
https://gateway.exemplo.com.br/
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --verbose
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --json
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --timeout 10
POSSIVEL
यह दर्शाता है कि स्क्रिप्ट को CVE-2025-23419 के संभावित एक्सपोज़र के अनुकूल संकेत मिले।
यह शोषण की पुष्टि नहीं करता। इसका अर्थ है कि वातावरण NGINX कॉन्फ़िगरेशन के मैन्युअल विश्लेषण और जिम्मेदार टीम के साथ सत्यापन का हकदार है।
विस्तृत आउटपुट का उदाहरण:
POSSIVEL
nginx_header: nginx/1.24.0
nginx_ver: (1, 24, 0) (vuln? True)
mtls_hint: True
tls: TLSv1.3
resumption_reused: True
other_vhost_no_mtls_hint: True
ये डेटा यह समझने में मदद करते हैं कि एंडपॉइंट को संभावित एक्सपोज़र के रूप में क्यों वर्गीकृत किया गया।
NAO_INDICADO
यह दर्शाता है कि स्क्रिप्ट को उस एंडपॉइंट पर संभावित एक्सपोज़र के पर्याप्त संकेत नहीं मिले।
यह कमजोरी की पूर्ण अनुपस्थिति की गारंटी नहीं देता, विशेषकर यदि:
Server हेडर छिपा हुआ हो;मुख्य बिंदु जिन्हें समायोजित किया जा सकता है:
CERT_ERROR_STATUS = {400, 401, 403, 495, 496}
यह सूची उन HTTP कोडों का प्रतिनिधित्व करती है जो अनुपस्थित या अमान्य क्लाइंट प्रमाणपत्र से संबंधित विफलता का संकेत दे सकते हैं।
कमांड लाइन से timeout समायोजित करना भी संभव है:
--timeout 10
स्क्रिप्ट केवल Python की मानक लाइब्रेरी का उपयोग करती है।
प्रमुख निर्भरताएँ:
python3
ssl
socket
argparse
urllib
pip के माध्यम से बाहरी लाइब्रेरी स्थापित करने की आवश्यकता नहीं है।
NGINX को एक सुधारित संस्करण में अपडेट करें, अधिमानतः 1.26.3, 1.27.4 या उससे ऊपर, उपयोग किए गए चैनल के अनुसार।
उन server blocks के कॉन्फ़िगरेशन की समीक्षा करें जो एक ही IP और पोर्ट साझा करते हैं, विशेषकर जब केवल कुछ वर्चुअल होस्ट्स पर mTLS हो।
निम्नलिखित के उपयोग का मूल्यांकन करें:
ssl_session_cache
ssl_session_tickets
TLS 1.3
IP और पोर्ट साझा करने वाले server blocks
विशिष्ट वर्चुअल होस्ट्स पर लागू mTLS
क्लाइंट प्रमाणपत्र की आवश्यकता वाले संदर्भों को अलग करने और यह सत्यापित करने की भी सिफारिश की जाती है कि सही वर्चुअल होस्ट पर mTLS प्रमाणीकरण लागू किया जा रहा है।
इसके अलावा, प्रॉक्सी, गेटवे, बैलेंसर, इनग्रेस कंट्रोलर और CDN में कॉन्फ़िगरेशन की समीक्षा करें, क्योंकि TLS को समाप्त करने वाला घटक अंतिम एप्लिकेशन का उत्तर देने वाले घटक से भिन्न हो सकता है।
https://mailman.nginx.org/pipermail/nginx-announce/2025/NYEUJX7NCBCGJGXDFVXNMAAMJDFSE45G.html
https://nvd.nist.gov/vuln/detail/CVE-2025-23419
https://ubuntu.com/security/CVE-2025-23419
https://github.com/advisories/GHSA-84xh-pwc6-7g4g
https://access.redhat.com/security/cve/cve-2025-23419
इस स्क्रिप्ट का उपयोग केवल अधिकृत वातावरणों में किया जाना चाहिए।
इसका उद्देश्य छँटाई, सुरक्षित सत्यापन, अधिकृत पेनटेस्ट, रक्षात्मक विश्लेषण और कॉन्फ़िगरेशन एक्सपोज़र की पुष्टि में सहायता करना है।
बिना प्राधिकरण के सिस्टम के विरुद्ध उपयोग निषिद्ध है।