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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Dead.Letter-CVE-2026-45185 — शेल-आधारित भेद्यता स्कैनर जो Exim MTA में CVE-2026-45185 (Dead.Letter) के लिए है। GnuTLS बिल्ड में उपयोग-के-बाद-मुक्त (use-after-free) का पता लगाता है, संस्करण, TLS लाइब्रेरी और CHUNKING कॉन्फ़िगरेशन की जाँच करता है। CI/CD एकीकरण के लिए JSON आउटपुट उत्पन्न करता है। | Kitploit
उपकरण/GitHubGitHub/liamromanis101/dead.letter-cve-2026-45185
भेद्यता स्कैनरभेद्यता विश्लेषणशोषणस्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षाDevSecOpsईमेल सुरक्षा
GitHub
liamromanis101/dead.letter-cve-2026-45185

Dead.Letter-CVE-2026-45185

शेल-आधारित भेद्यता स्कैनर जो Exim MTA में CVE-2026-45185 (Dead.Letter) के लिए है। GnuTLS बिल्ड में उपयोग-के-बाद-मुक्त (use-after-free) का पता लगाता है, संस्करण, TLS लाइब्रेरी और CHUNKING कॉन्फ़िगरेशन की जाँच करता है। CI/CD एकीकरण के लिए JSON आउटपुट उत्पन्न करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-45185 — "Dead.Letter" एक्ज़िम कमजोरी स्कैनर

एक शेल स्क्रिप्ट जो यह पता लगाने के लिए है कि कोई Linux सिस्टम CVE-2026-45185 के प्रति संवेदनशील है या नहीं, जो Exim मेल ट्रांसफर एजेंट में एक use-after-free बग है जो रिमोट कोड निष्पादन का कारण बन सकता है।

CI/CD पाइपलाइनों, कॉन्फ़िगरेशन प्रबंधन टूलिंग और एड-हॉक सिस्टम ऑडिट में उपयोग के लिए डिज़ाइन किया गया। यह मानव-पठनीय और मशीन-पठनीय (JSON) दोनों आउटपुट उत्पन्न करता है।


कमजोरी

CVE-2026-45185 (उपनाम: Dead.Letter) Exim के BDAT (बाइनरी डेटा) संदेश बॉडी पार्सिंग में एक use-after-free बग है, जो तब ट्रिगर होता है जब TLS को GnuTLS द्वारा संभाला जाता है।

TLS शटडाउन के दौरान, Exim अपने TLS ट्रांसफर बफर को मुक्त करता है — लेकिन एक नेस्टेड BDAT रिसीव रैपर अभी भी आने वाले बाइट्स को संसाधित कर सकता है और ungetc() को कॉल कर सकता है, जिससे एक एकल \n बाइट मुक्त किए गए क्षेत्र में लिखा जाता है। वह एक-बाइट लेखन हीप आवंटक मेटाडेटा को दूषित करता है, जिससे एक हमलावर आगे मेमोरी प्रिमिटिव प्राप्त कर सकता है और रिमोट कोड निष्पादन प्राप्त कर सकता है।

गुणविवरण
CVECVE-2026-45185
उपनामDead.Letter
प्रकारUse-After-Free (CWE-416)
घटकExim BDAT/CHUNKING हैंडलर (केवल GnuTLS बिल्ड)
हमला वेक्टरनेटवर्क — बिना प्रमाणीकरण के, केवल TLS कनेक्शन और CHUNKING एक्सटेंशन की आवश्यकता है
प्रभावित संस्करणExim 4.97 – 4.99.2, केवल GnuTLS बिल्ड
फिक्स्ड इनExim 4.99.3
खोजकर्ताFederico Kirschbaum, XBOW Security Lab (1 मई 2026 को रिपोर्ट किया गया)

OpenSSL बिल्ड प्रभावित नहीं हैं। यह कमजोरी केवल Exim पर लागू होती है जो USE_GNUTLS=yes के साथ संकलित है। यदि आपका Exim OpenSSL से लिंक है, तो आप संस्करण की परवाह किए बिना संवेदनशील नहीं हैं।


स्क्रिप्ट क्या जाँचती है

स्क्रिप्ट एक निर्णय वृक्ष के माध्यम से काम करती है, जैसे ही कोई निश्चित सुरक्षित स्थिति की पुष्टि होती है, रुक जाती है और सिस्टम को संवेदनशील नहीं चिह्नित करती है:

जाँच 1 — Exim की उपस्थिति $PATH और सामान्य स्थापना स्थानों (/usr/sbin/exim, /usr/sbin/exim4, /usr/local/sbin/exim) की खोज करता है। यदि Exim नहीं मिलता है, तो सिस्टम संवेदनशील नहीं है और स्क्रिप्ट तुरंत बाहर निकल जाती है।

जाँच 2 — Exim संस्करण exim -bV आउटपुट को पार्स करता है और प्रभावित सीमा (4.97 – 4.99.2) से तुलना करता है। संस्करण ≥ 4.99.3 को पैच किया गया माना जाता है। ज्ञात सीमा से बाहर के संस्करणों को संवेदनशील नहीं चिह्नित किया जाता है (यदि वे अपरिचित हैं तो एक नोट के साथ)।

जाँच 3 — TLS लाइब्रेरी (महत्वपूर्ण द्वार) तीन पहचान विधियों का क्रमिक रूप से उपयोग करता है:

  1. exim -bV बिल्ड जानकारी (सबसे विश्वसनीय — Exim अपनी संकलन-समय सुविधाओं की रिपोर्ट करता है, जैसे Support for: GnuTLS)
  2. ldd साझा लाइब्रेरी लिंकेज
  3. strings बाइनरी स्कैन (फ़ॉलबैक)

यदि OpenSSL का पता चलता है → निर्णय संवेदनशील नहीं में बदल जाता है, भले ही संस्करण कुछ भी हो। यदि GnuTLS का पता चलता है → आक्रमण सतह मौजूद पुष्टि हो जाती है। यदि कोई निर्धारित नहीं किया जा सकता है → परिणाम अनिर्णायक है।

जाँच 4 — CHUNKING/BDAT कॉन्फ़िग (वर्कअराउंड जाँच) केवल तभी चलता है जब सिस्टम अभी भी इस बिंदु पर संवेदनशील चिह्नित है। यह जाँचता है कि chunking_advertise_hosts को Exim कॉन्फ़िग में स्पष्ट रूप से खाली मान पर सेट किया गया है या नहीं, जो BDAT विज्ञापन को अक्षम करता है और आक्रमण वेक्टर को अवरुद्ध करता है। यह एकल-फ़ाइल कॉन्फ़िग और डेबियन के स्प्लिट-कॉन्फ़िग लेआउट (/etc/exim4/conf.d/ टुकड़े) दोनों को संभालता है।

नोट: यदि chunking_advertise_hosts कॉन्फ़िग से अनुपस्थित है (डिफ़ॉल्ट), तो Exim सभी होस्ट (*) को CHUNKING का विज्ञापन करता है। इसे अक्षम करने के लिए विकल्प को स्पष्ट रूप से खाली मान पर सेट किया जाना चाहिए।

जाँच 5 — सूचनात्मक सिस्टम शमन निर्णय नहीं बदलता, लेकिन उन कारकों की रिपोर्ट करता है जो शोषण क्षमता को प्रभावित करते हैं:

  • ASLR स्तर (/proc/sys/kernel/randomize_va_space) — 2 होना चाहिए
  • glibc संस्करण — 2.32+ में मजबूत हीप मेटाडेटा अखंडता जाँच है
  • Exim बाइनरी के लिए checksec आउटपुट (PIE, RELRO, स्टैक कैनेरी) यदि checksec स्थापित है
  • systemd यूनिट सैंडबॉक्सिंग: MemoryDenyWriteExecute, NoNewPrivileges, SystemCallFilter

आवश्यकताएँ

  • Bash 4.0 या बाद का संस्करण
  • Linux जिसमें /proc फाइलसिस्टम हो (ASLR जाँच के लिए)
  • मानक कोरयूटिल्स: grep, awk, ldd, head
  • checksec (वैकल्पिक — बाइनरी हार्डनिंग विश्लेषण के लिए)
  • systemctl (वैकल्पिक — systemd यूनिट निरीक्षण के लिए)
  • Exim कॉन्फ़िग फ़ाइल पढ़ने के लिए पर्याप्त विशेषाधिकार के साथ चलाया जाना चाहिए (आमतौर पर रूट, या डेबियन/उबंटू पर Debian-exim समूह में एक उपयोगकर्ता)

मुख्य कमजोरी जाँचों के लिए कोई बाहरी निर्भरता आवश्यक नहीं है।


उपयोग

chmod +x check_cve_2026_45185.sh
./check_cve_2026_45185.sh

विकल्प

फ़्लैगविवरण
--jsonपरिणामों को JSON ऑब्जेक्ट के रूप में आउटपुट करें (नीचे देखें)
--quietसभी आउटपुट को दबाएँ; केवल एग्जिट कोड सेट किया जाता है
--no-colorANSI रंग कोड अक्षम करें (लॉग फ़ाइलों के लिए उपयोगी)
--help / -hउपयोग जानकारी प्रिंट करें

एग्जिट कोड

कोडअर्थ
0संवेदनशील नहीं (या एक निश्चित सुरक्षित स्थिति मिली)
1संवेदनशील
2अनिर्णायक — एक या अधिक आवश्यक तथ्य निर्धारित नहीं कर सका; संभावित रूप से संवेदनशील मानें
3स्क्रिप्ट त्रुटि या असमर्थित वातावरण

उदाहरण आउटपुट

मानव-पठनीय (डिफ़ॉल्ट)

CVE-2026-45185 (Dead.Letter) — Exim Vulnerability Assessment
============================================================

[CHECK] Exim स्थापना की जाँच कर रहा है...
[WARN]  Exim बाइनरी मिला: /usr/sbin/exim4
[CHECK] Exim संस्करण की जाँच कर रहा है...
        पाया गया संस्करण: 4.99.1
[FAIL]  Exim 4.99.1 संवेदनशील सीमा (4.97 – 4.99.2) में है।
[CHECK] TLS लाइब्रेरी लिंकेज (GnuTLS बनाम OpenSSL) की जाँच कर रहा है...
[FAIL]  Exim GnuTLS से लिंक है — यह बिल्ड प्रभावित है।
[CHECK] CHUNKING (BDAT) विज्ञापन कॉन्फ़िगरेशन की जाँच कर रहा है...
        कॉन्फ़िग फ़ाइल: /etc/exim4/exim4.conf
[WARN]  chunking_advertise_hosts अक्षम नहीं है — BDAT सक्रिय है (डिफ़ॉल्ट रूप से सभी होस्ट को विज्ञापन)।
        सुझाव: BDAT को वर्कअराउंड के रूप में अक्षम करने के लिए अपने मुख्य कॉन्फ़िग में 'chunking_advertise_hosts =' (खाली मान) जोड़ें।
[CHECK] सिस्टम-स्तरीय शोषण शमन की जाँच (सूचनात्मक)...
[PASS]  ASLR: पूर्ण यादृच्छिकीकरण (randomize_va_space=2)
        glibc संस्करण: 2.35 (2.32+ में मजबूत हीप मेटाडेटा जाँच है)
[WARN]  systemd: MemoryDenyWriteExecute सेट नहीं — यूनिट में जोड़ने की अनुशंसा
[WARN]  systemd: NoNewPrivileges सेट नहीं

------------------------------------------------------------
निर्णय
------------------------------------------------------------
संवेदनशील — CVE-2026-45185
  कारण: Exim संस्करण 4.99.1 संवेदनशील सीमा 4.97–4.99.2 में है

अनुशंसित कार्रवाइयाँ:
  1. Exim को 4.99.3 या बाद के संस्करण में अपग्रेड करें (प्राथमिक फिक्स)
  2. वर्कअराउंड के रूप में, exim कॉन्फ़िग में 'chunking_advertise_hosts =' (खाली) सेट करें
  3. systemd यूनिट में MemoryDenyWriteExecute=yes और NoNewPrivileges=yes जोड़ें
  4. सुनिश्चित करें कि ASLR 2 पर सेट है: echo 2 > /proc/sys/kernel/randomize_va_space
------------------------------------------------------------

JSON आउटपुट (--json)

{
  "cve": "CVE-2026-45185",
  "alias": "Dead.Letter",
  "host": "mailserver-01",
  "timestamp": "2026-05-12T17:00:00Z",
  "verdict": "vulnerable",
  "reason": "Exim version 4.99.1 is in vulnerable range 4.97–4.99.2",
  "exit_code": 1,
  "findings": {
    "exim_binary": "/usr/sbin/exim4",
    "exim_version": "4.99.1",
    "exim_version_vulnerable": "true",
    "tls_library": "gnutls",
    "tls_library_detected": "gnutls",
    "exim_config": "/etc/exim4/exim4.conf",
    "chunking_advertised": "true",
    "aslr_level": "2",
    "glibc_version": "2.35"
  },
  "mitigations": [
    "aslr=full"
  ]
}

CI/CD एकीकरण

GitHub Actions

- name: CVE-2026-45185 के लिए जाँच करें
  run: |
    chmod +x check_cve_2026_45185.sh
    ./check_cve_2026_45185.sh --json | tee vuln-report.json
    exit $(jq '.exit_code' vuln-report.json)
टूल डाउनलोड करें