प्लेटफ़ॉर्म
php
घटक
yansongda/pay
में ठीक किया गया
3.7.21
3.7.20
CVE-2026-33661, yansongda/pay लाइब्रेरी में एक भेद्यता है, जहाँ verifywechatsign() फ़ंक्शन हस्ताक्षर सत्यापन को छोड़ देता है यदि होस्ट localhost है। इससे हमलावर नकली WeChat Pay भुगतान सूचनाएँ भेज सकते हैं, जिससे एप्लिकेशन बिना भुगतान के ऑर्डर को पेड के रूप में चिह्नित कर सकते हैं। यह भेद्यता ≤v3.7.9 संस्करणों को प्रभावित करती है और संस्करण 3.7.20 में ठीक की गई है।
CVE-2026-33661 'पे' घटक में एक भेद्यता है जो WeChat Pay का उपयोग करने वाले अनुप्रयोगों को प्रभावित करती है। विशेष रूप से, src/Functions.php में verifywechatsign() फ़ंक्शन PSR-7 अनुरोध में होस्ट 'localhost' होने पर RSA हस्ताक्षर सत्यापन को बिना शर्त छोड़ देता है। यह एक हमलावर को WeChat Pay कॉलबैक एंडपॉइंट पर दुर्भावनापूर्ण HTTP अनुरोध भेजने की अनुमति देता है, इस प्रकार महत्वपूर्ण हस्ताक्षर जांच को दरकिनार कर देता है। नतीजतन, एक हमलावर WeChat Pay भुगतान सफलता अधिसूचनाओं को जाली बना सकता है, जिससे एप्लिकेशन वास्तविक भुगतान के बिना ऑर्डर को भुगतान के रूप में चिह्नित कर सकता है। CVSS ने इस भेद्यता को 8.6 का स्कोर दिया है, जो उच्च जोखिम दर्शाता है। प्रभावित संस्करण 3.7.20 से पहले हैं। यह भेद्यता महत्वपूर्ण वित्तीय नुकसान और सिस्टम अखंडता के उल्लंघन का कारण बन सकती है।
एक हमलावर को उस नेटवर्क तक पहुंच की आवश्यकता होती है जहां कमजोर एप्लिकेशन चल रहा है और उसे HTTP अनुरोध भेजने में सक्षम होना चाहिए। हमले में 'Host: localhost' हेडर युक्त दुर्भावनापूर्ण HTTP अनुरोध बनाना शामिल है। यह अनुरोध WeChat Pay कॉलबैक एंडपॉइंट पर भेजा जाता है। verifywechatsign() फ़ंक्शन में दोष के कारण, RSA हस्ताक्षर सत्यापन को दरकिनार कर दिया जाता है, जिससे हमलावर भुगतान अधिसूचना को जाली बना सकता है। फिर, हमलावर एप्लिकेशन को हेरफेर कर सकता है ताकि ऑर्डर को भुगतान के रूप में चिह्नित किया जा सके, भले ही कोई भुगतान न हुआ हो। हमले की जटिलता अपेक्षाकृत कम है, क्योंकि इसके लिए उन्नत तकनीकी कौशल या विशेष उपकरणों की आवश्यकता नहीं होती है। भेद्यता का शोषण होने की संभावना अधिक है, क्योंकि दोष को पहचानना और उसका शोषण करना आसान है।
Applications that integrate WeChat Pay using the yansongda/pay library, particularly those deployed on shared hosting environments or with minimal input validation, are at significant risk. Legacy systems using older versions of the library and lacking robust security practices are also highly vulnerable.
• php: Examine application code for usage of yansongda/pay and check version. Search for code that unconditionally skips signature verification based on the Host header.
// Example: Check for vulnerable code in Functions.php
grep -r "verify_wechat_sign(R" /path/to/your/application• generic web: Monitor access logs for requests to WeChat Pay callback endpoints with a Host: localhost header.
# Example: grep for suspicious host headers in access logs
grep "Host: localhost" /var/log/apache2/access.logdisclosure
एक्सप्लॉइट स्थिति
EPSS
0.09% (26% शतमक)
CISA SSVC
CVSS वेक्टर
CVE-2026-33661 को कम करने का समाधान 'पे' घटक को संस्करण 3.7.20 या बाद के संस्करण में अपग्रेड करना है। यह अपडेट verifywechatsign() फ़ंक्शन में दोषपूर्ण तर्क को ठीक करता है जो होस्ट हेडर 'localhost' होने पर हस्ताक्षर सत्यापन को छोड़ने की अनुमति देता है। इसके अतिरिक्त, हस्ताक्षर सत्यापन से परे WeChat Pay कॉलबैक अनुरोधों के स्रोत को मान्य करने के लिए अतिरिक्त सत्यापन लागू करने की सिफारिश की जाती है, एक पूरक सुरक्षा उपाय के रूप में। इसमें मूल IP पते को सत्यापित करना या अनुमत IP पतों की अनुमति सूची का उपयोग करना शामिल हो सकता है। संभावित हमलों से खुद को बचाने के लिए इस अपडेट को जल्द से जल्द लागू करना महत्वपूर्ण है। अपडेट के बाद WeChat Pay कार्यक्षमता के ठीक से काम करने को सुनिश्चित करने के लिए पूरी तरह से परीक्षण करने की सिफारिश की जाती है।
Actualice la biblioteca `yansongda/pay` a la versión 3.7.20 o superior. Esto corrige la vulnerabilidad de omisión de la verificación de la firma en el callback de WeChat Pay cuando el encabezado Host es localhost.
भेद्यता विश्लेषण और गंभीर अलर्ट सीधे आपके ईमेल में।
WeChat Pay चीन में WeChat एप्लिकेशन में एकीकृत एक लोकप्रिय मोबाइल भुगतान प्रणाली है।
हस्ताक्षर सत्यापन (RSA) सुनिश्चित करता है कि WeChat Pay अधिसूचनाएँ प्रामाणिक हैं और छेड़छाड़ नहीं की गई हैं।
अगर आप तुरंत अपग्रेड नहीं कर सकते हैं, तो IP स्रोत सत्यापन और लेनदेन निगरानी जैसे अतिरिक्त सुरक्षा उपाय लागू करें।
src/Functions.php में verifywechatsign() फ़ंक्शन की जांच करें और जांचें कि 'Host' हेडर 'localhost' होने पर हस्ताक्षर सत्यापन छोड़ दिया गया है या नहीं।
वर्तमान में इस भेद्यता का पता लगाने के लिए कोई विशिष्ट उपकरण नहीं है, लेकिन कोड ऑडिट और प्रवेश परीक्षण की सिफारिश की जाती है।
अपनी डिपेंडेंसी फ़ाइल अपलोड करें और तुरंत जानें कि यह CVE और अन्य आपको प्रभावित करती हैं या नहीं।