
सैनिटाइज़्ड रिपोर्ट और स्थानीय proof-of-concept स्क्रिप्ट जो MediaWiki action=emailuser API EmailUserAuthorizeSend hook bypass (CVE-2026-102973) को प्रदर्शित करती है।
रिपोर्टर: Marco Paciaroni (BomboBombone)।
MediaWiki का action=emailuser API पथ EmailUserAuthorizeSend हुक को लागू नहीं करता था। जब कोई एक्सटेंशन या साइट नीति उस हुक का उपयोग किसी प्रेषक को अस्वीकार करने के लिए करती थी, तो वेब फ़ॉर्म उस अस्वीकृति को लागू करता था जबकि API पथ अभी भी संदेश भेज सकता था।
यह कॉन्फ़िगरेशन-निर्भर है। यह किसी विकी को केवल तब प्रभावित करता है जब कोई स्थानीय नीति या एक्सटेंशन EmailUserAuthorizeSend का उपयोग प्राधिकरण नियंत्रण के रूप में करता है। स्टॉक कोर कॉन्फ़िगरेशन स्वयं कोई अस्वीकृति हुक प्रदान नहीं करता है। प्रभावित खाते को सामान्य send-email अनुमति की भी आवश्यकता होती है।
एक पृथक स्थानीय परीक्षण विकी को एक अस्थायी हुक के साथ कॉन्फ़िगर करें जो एक डिस्पोज़ेबल प्रेषक को अस्वीकार करता है, और MediaWiki मेल को केवल एक स्थानीय SMTP सिंक जैसे Mailpit पर डिलीवर करने के लिए कॉन्फ़िगर करें। उस सिंक के लिए एक डिस्पोज़ेबल प्राप्तकर्ता खाता बनाएँ। स्क्रिप्ट अस्वीकृत वेब फ़ॉर्म की तुलना API अनुरोध से करती है और रिपोर्ट करती है कि API ने नीति हुक को छोड़ा या नहीं।
स्क्रिप्ट गैर-लूपबैक विकी URL को अस्वीकार करती है, एक स्पष्ट local-SMTP पुष्टि फ़्लैग और टाइप की गई पुष्टि की आवश्यकता होती है, और प्रेषक पासवर्ड के लिए प्रॉम्प्ट करती है। बाहरी रूप से मेल भेजने के लिए कॉन्फ़िगर किए गए विकी का उपयोग न करें।
python poc.py --base http://127.0.0.1:8080 --username PolicyTestSender --target CVE102973TestRecipient --confirm-local-smtp
हुक के अस्वीकृति संदेश में email-policy-denied (डिफ़ॉल्ट मार्कर) होना चाहिए। प्रेषक को सामान्य sendemail अधिकार की आवश्यकता होती है, और प्राप्तकर्ता को स्थानीय सिंक पते का उपयोग करना चाहिए।