flawopen.com/Teardowns/cve-2026-73570-zimbra-snmp-command-injection
CVE-2026-73570: Zimbra के SNMP सूचना मार्ग में कमांड इंजेक्शन कैसे हुआ
CVE-2026-73570 Zimbra के वैकल्पिक SNMP सूचना मार्ग में प्रमाणीकरण-रहित कमांड इंजेक्शन है। विशेष रूप से बनाया गया ईमेल एक स्थिति मान को प्रभावित कर सकता था, जिसे बाद में shell कमांड में जोड़ा जाता था। Zimbra ने 10.1.20 में यह कॉल ठीक की। बाद में Microsoft ने बताया कि सार्वजनिक खुलासे से पहले स्कैनिंग टूल इस कमजोर मार्ग की जाँच कर रहे थे।[1], [2], [5]
डाक छँटाई कर्मचारी लिफ़ाफ़े का लेबल कार्य-पर्ची पर लिखता है। पुरानी प्रक्रिया पूरी पर्ची को कमांड समझने वाले प्रोग्राम को देती थी, जो लेबल के कुछ अक्षरों को अतिरिक्त निर्देश समझ सकता था। सुधार सूचना प्रोग्राम को अलग-अलग तर्कों की सूची देता है, इसलिए लेबल केवल डेटा रहता है।[8], [9], [3]
इस पेज के मुख्य शब्द
swatchdog- इस Zimbra मार्ग में लॉग देखने वाला प्रोग्राम, जो सेवा-स्थिति संदेश पहचानकर सूचनाएँ शुरू करता है।[1]
SNMP trap- घटना होने पर प्रबंधित सिस्टम से SNMP निगरानी रिसीवर को भेजी गई सूचना।[1]
फ्रेमवर्क मैपिंग
- इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-78
- CISA KEV — जोड़ा गया 2026-08-21 — CVE-2026-73570
मूल कारण विश्लेषण (Root Cause)
प्रभावित कोड rpmconf/Conf/swatchrc की dosnmp फ़ंक्शन में है। swatch नियम स्थिति-पंक्ति से सेवा का नाम लेता है और donotify के जरिए SERVICE के रूप में भेजता है; dosnmp इस मान को $snmptrap वाली backtick कमांड में जोड़ता था। Backtick shell चलाते हैं, इसलिए लॉग से आया मान कमांड सिंटैक्स बनकर पढ़ा जा सकता था। प्रकाशित पूर्वशर्तें एक साथ आवश्यक हैं: Zimbra Collaboration Suite 10.1.20 से पुराना हो, वैकल्पिक zimbra-snmp पैकेज इंस्टॉल हो और SNMP सूचनाएँ चालू हों। Microsoft के अनुसार विशेष रूप से बनाया गया SMTP इनपुट सूचना मार्ग तक पहुँच सकता था। कंपनी ने 28 जुलाई से 7 अगस्त 2026 तक स्कैनिंग टूल को कमजोर इंजेक्शन बिंदु की जाँच करते देखा—20 जुलाई के सुधार के बाद और 13 अगस्त के सार्वजनिक खुलासे से पहले। Zimbra का सुधार shell स्ट्रिंग को सूची-रूप system(...) से बदलता है और executable तथा तर्क अलग देता है; निष्पादन में shell शामिल नहीं रहता। यह विश्लेषण केवल SNMP सूचना कोड के बारे में है; इसका अर्थ यह नहीं कि हर Zimbra इंस्टॉलेशन या SMTP ईमेल प्रभावित है।[1], [2], [3], [5], [7]
CVE-2026-73570 की reachability और remediation matrix
| Deployment की शर्तें | क्या दर्ज किया गया path लागू होता है? | रक्षात्मक कार्रवाई |
|---|---|---|
Zimbra Collaboration Suite 10.1.20 से पुराना; optional zimbra-snmp package installed; SNMP notifications enabled. | दर्ज notification path के लिए तीनों शर्तें आवश्यक हैं। Microsoft के अनुसार crafted SMTP input service-status value को प्रभावित कर सकता था, जिसे बाद में dosnmp संभालता था। | 10.1.20 या बाद के संस्करण पर upgrade करें। exposure अवधि के संबंधित logs और process telemetry जाँचें; संकेतों को जाँच के सुराग मानें, compromise का प्रमाण नहीं। |
zimbra-snmp package मौजूद नहीं, या SNMP notifications disabled हैं। | इस configuration में बताया गया dosnmp notification path सक्रिय नहीं है। इससे यह साबित नहीं होता कि server अन्य vulnerabilities से मुक्त है। | Server patch होने तक feature disabled रखें या package installed न रखें। सभी mailbox nodes की सूची बनाकर प्रत्येक की setting जाँचें। |
| Zimbra Collaboration Suite 10.1.20 या बाद का संस्करण और vendor-fixed package installed. | दर्ज shell-command निर्माण 10.1.20 में ठीक किया गया। केवल version string से हर node या local modification की पुष्टि नहीं होती। | हर node पर installed version और package सत्यापित करें। पहले की कोई अवधि तीनों exposure conditions पूरी करती थी तो सामान्य incident-triage प्रक्रिया अपनाएँ। |
हमले का चरण-दर-चरण प्रवाह
पूर्वशर्तें पूरी हैं
10.1.20 से पुराना संस्करण, zimbra-snmp इंस्टॉल और SNMP सूचनाएँ चालू।[1]
ईमेल निगरानी मान को प्रभावित करता है
Microsoft ने बताया कि SMTP अनुरोध लॉग में दर्ज स्थिति मान को प्रभावित कर सकता था। exploit स्ट्रिंग और नेटवर्क कदम शामिल नहीं हैं।[1]
swatchdog मान आगे भेजता है
नियम सेवा फ़ील्ड लेकर सक्रिय सूचना व्यवस्था में donotify के जरिए dosnmp तक भेजता है।[1]
Shell डेटा को कमांड की तरह पढ़ता है
सुधार से पहले Perl backtick captured मान वाली स्ट्रिंग को Zimbra सेवा खाते के रूप में shell तक पहुँचाते थे।[1]
10.1.20 shell हटाता है
सुधार snmptrap को अलग तर्क देता है। अपडेट करें और उजागर सिस्टम जाँचें; सुधार पिछली गतिविधि को नकारता नहीं है।[1]
सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन
कमज़ोर backtick interpolated स्ट्रिंग को shell तक पहुँचाता था। upstream सुधार कई तर्कों वाला system उपयोग करता है और प्रोग्राम तथा हर तर्क अलग देता है, इसलिए SERVICE के metacharacters shell निर्देश नहीं बनते। यह बदली गई कॉल का अंश है, चलने योग्य exploit या पूरी फ़ाइल नहीं।[3], [4], [8], [9]
सोर्स अंश: rpmconf/Conf/swatchrc: dosnmp
# प्रभावित dosnmp का संक्षिप्त अंश; exploit इनपुट नहीं दिखाया गया।
sub dosnmp {
my %args = (@_);
`$snmptrap $snmpsvctrap $snmpsvcname s $args{SERVICE} $snmpsvcstatus i $statuses{$args{STATUS}}`;
}
# Zimbra 10.1.20 सुधार: प्रोग्राम को अलग तर्कों के साथ सीधे चलाएँ।
sub dosnmp {
my %args = (@_);
system(
"/opt/zimbra/common/bin/snmptrap",
"-v", "2c", "-c", "zimbra", $traphost, "",
$snmpsvctrap, $snmpsvcname, "s", $args{SERVICE},
$snmpsvcstatus, "i", $statuses{$args{STATUS}}
);
}
इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट
- ✓Zimbra Collaboration Suite के सभी 10.1.20 से पुराने इंस्टॉलेशन को 10.1.20 या नए संस्करण में अपडेट करें और हर mailbox नोड पर पैकेज संस्करण जाँचें।[2], [1]
- ✓जाँचें कि
zimbra-snmpइंस्टॉल है या नहीं और SNMP सूचनाएँ चालू हैं या नहीं। पैच में देरी हो तो परिस्थिति के अनुसार वैकल्पिक पैकेज हटाएँ या सूचनाएँ बंद करें और SMTP तथा SNMP को भरोसेमंद सिस्टम तक सीमित रखें।[1] - ✓दोनों पूर्वशर्तें पूरी करने वाले इंटरनेट-सुलभ, बिना पैच सिस्टम को उजागर मानें। लॉग और endpoint telemetry में असामान्य स्थिति मान तथा Perl या swatchdog से शुरू हुई अनपेक्षित child processes खोजें।[1], [6]
- ✓पैच से पहले जोखिम था तो लॉग सुरक्षित रखें, प्रभावित mailbox नोड सीमित करें, persistence और account activity की जाँच करें, और प्रमाण या जोखिम के अनुसार secrets बदलें।[1], [6]
- ✓कोड समीक्षा में लॉग, ईमेल या बाहरी इनपुट से आए मानों वाली shell स्ट्रिंग चलाने पर रोक लगाएँ। argument-vector API को प्राथमिकता दें; shell-आधारित इंटरफ़ेस के अनुमत मानों को सख्ती से जाँचें।[8], [9], [7], [3]
- ✓ऐसा regression test जोड़ें जो साबित करे कि सेवा मान एक literal argument के रूप में जाता है और shell शुरू नहीं होता; अलग test harness में हानिरहित metacharacter स्ट्रिंग उपयोग करें।[3], [9]
स्रोत
- Microsoft Threat Intelligence: CVE-2026-73570 शोषण और सुधार
- Zimbra 10.1.20 रिलीज़ नोट — SNMP सुधार
- Upstream patch: Zimbra/zm-build commit 92b6ebe
- Zimbra/zm-build PR #333
- NVD/GitHub Advisory Database: CVE-2026-73570, CWE-78, CVSS 8.9
- CISA ज्ञात-शोषित कमजोरियों की सूची में प्रविष्टि
- MITRE CWE-78: OS command injection
- Perl perlop: command execution with backticks
- Perl system function documentation
- NVD: CVE-2026-73570