Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
multiparty-CVE-2026-8161 — CVE-2026-8161 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो multiparty multipart पार्सर में एक denial-of-service भेद्यता है, जो prototype pollution के माध्यम से अनकॉट अपवाद और क्रैश की ओर ले जाने का प्रदर्शन करता है। | Kitploit
उपकरण/GitHubGitHub/ser0n-ath/multiparty-cve-2026-8161
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षा
GitHubser0n-ath/multiparty-cve-2026-8161

multiparty-CVE-2026-8161

CVE-2026-8161 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो multiparty multipart पार्सर में एक denial-of-service भेद्यता है, जो prototype pollution के माध्यम से अनकॉट अपवाद और क्रैश की ओर ले जाने का प्रदर्शन करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-8161

CVE-2026-8161 (मल्टीपार्टी) का प्रूफ ऑफ कॉन्सेप्ट

विवरण

[email protected] और इससे पहले के संस्करण एक अनकॉट एक्सेप्शन के माध्यम से डेनियल ऑफ सर्विस के प्रति संवेदनशील हैं।

पार्सर अपलोड किए गए फ़ील्ड्स और फ़ाइलों को सादे जावास्क्रिप्ट ऑब्जेक्ट्स में संग्रहीत करता है और पार्सर के स्वामित्व वाली कुंजियों को इनहेरिटेड ऑब्जेक्ट प्रॉपर्टीज़ से सुरक्षित रूप से अलग नहीं करता है। एक क्राफ्टेड मल्टीपार्ट फ़ील्ड नाम पार्सर को अप्रत्याशित प्रोटोटाइप-चेन मान पढ़ने और अपलोड को संभालते समय क्रैश करने का कारण बन सकता है।

कोई भी सेवा जो multiparty के संवेदनशील संस्करणों के माध्यम से मल्टीपार्ट अपलोड स्वीकार करती है, प्रभावित हो सकती है।

यह कैसे काम करता है

समस्या इसलिए होती है क्योंकि fields और files सादे जावास्क्रिप्ट ऑब्जेक्ट्स हैं, लेकिन उन्हें उपयोगकर्ता-नियंत्रित नामों के लिए सुरक्षित की-वैल्यू मैप्स की तरह उपयोग किया जाता है।

root@kitploit:~
var fieldsArray = fields[name] || (fields[name] = [])
fieldsArray.push(value)

var filesArray = files[name] || (files[name] = [])
filesArray.push(file)

समस्या यह है कि fields[name] और सामान्य जावास्क्रिप्ट प्रॉपर्टी लुकअप का उपयोग करते हैं। सादे ऑब्जेक्ट्स के लिए, वह लुकअप केवल ऑब्जेक्ट पर संग्रहीत मानों के बजाय प्रोटोटाइप चेन से इनहेरिटेड प्रॉपर्टीज़ लौटा सकता है।

files[name]

जब नाम __proto__ होता है, तो जावास्क्रिप्ट इसे प्रोटोटाइप चेन के माध्यम से हल कर सकता है और undefined के बजाय इनहेरिटेड प्रोटोटाइप ऑब्जेक्ट लौटा सकता है। चूंकि वह मान ट्रूथी है, फॉलबैक असाइनमेंट छोड़ दिया जाता है और पार्सर उस फ़ील्ड के लिए कभी वास्तविक ऐरे नहीं बनाता है।

पैच इसे केवल उन कुंजियों पर भरोसा करके ठीक करता है जो सीधे ऑब्जेक्ट से संबंधित हैं:

root@kitploit:~
var filesArray = Object.prototype.hasOwnProperty.call(files, name)
  ? files[name]
  : undefined

फिर पार्सर केवल तभी जोड़ता है जब संग्रहीत मान वास्तव में एक ऐरे होता है, अन्यथा यह एक नया ऐरे आरंभ करता है:

root@kitploit:~
if (Array.isArray(filesArray)) {
  filesArray.push(file)
} else {
  files[name] = [file]
}

जब .push() को ऐसे मान पर कॉल किया जाता है जो ऐरे नहीं है, तो यह TypeError फेंकता है। चूंकि यह Multiparty की एसिंक्रोनस पार्सिंग प्रक्रिया के अंदर होता है, सामान्य कॉलर-साइड एरर हैंडलिंग इसे पकड़ नहीं सकती है, जिससे एक्सेप्शन प्रोसेस को क्रैश कर सकता है।

टाइमलाइन

  • 2026-01-12: भेद्यता multiparty अनुरक्षकों को रिपोर्ट की गई।
  • 2026-01-17: रिपोर्ट स्वीकार की गई, उपचार कार्य शुरू हुआ।
  • 2026-02-14: @pillarjs/security-triage के साथ समन्वित समीक्षा शुरू हुई।
  • 2026-02-16: पैच चर्चाएँ -> Object.prototype.hasOwnProperty.call(...)।
  • 2026-03-29: एडवाइज़री शीर्षक और मेटाडेटा को डेनियल ऑफ सर्विस प्रभाव को दर्शाने के लिए अपडेट किया गया।
  • 2026-04: उपचार दृष्टिकोण की समीक्षा और अनुमोदन किया गया।
  • 2026-05-08: एडवाइज़री अंतिम रूप दी गई और CVE-2026-8161 आरक्षित किया गया।
  • 2026-05-11: फिक्स pillarjs:master में मर्ज किया गया।

डेमो उपयोग

मॉकलैब वातावरण चलाएँ और परीक्षण पेलोड को दोनों लक्ष्यों पर भेजें:

root@kitploit:~
docker compose up -d
python3 secdos.py -u http://localhost:8080/api/submit
python3 secdos.py -u http://localhost:8081/api/submit

संवेदनशील लक्ष्य क्रैश हो जाएगा और [PASS] लौटाएगा। पैच किया गया लक्ष्य अनुरोध को सुरक्षित रूप से संभालेगा और [FAIL] लौटाएगा।

यदि संवेदनशील सर्वर के विरुद्ध दोबारा चला रहे हैं, तो पहले इसे पुनः आरंभ करें

सेटअप अवलोकन

संवेदनशील सर्वर

  • localhost:8080 पर एक्सेस
  • Nginx सर्वर रिवर्स प्रॉक्सी के रूप में कार्य करता है, विफलता पर यह स्थिति 502 के साथ एरर पेज प्रदर्शित करता है
  • Nginx vuln सर्वर एड्रेस को सेवा नाम से हल करता है
  • multiparty 4.2.3 (संवेदनशील) का उपयोग करता है

पैच किया गया सर्वर

  • localhost:8081 पर चल रहा है और एक्सेस किया जा रहा है
  • Nginx आवश्यक नहीं है
  • multiparty 4.3.0 (पैच किया गया) का उपयोग करता है

डॉकरफाइल से पैच की गई इमेज बनाने के लिए बिल्ड आर्ग PATCHED=1 की आवश्यकता होती है

संदर्भ

https://github.com/pillarjs/multiparty/security/advisories/GHSA-qxch-whhj-8956 https://github.com/pillarjs/multiparty/commit/8ee6aca09aca29e923da48da8260c87aa964b282

टूल डाउनलोड करें