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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-71204-PoC — PoC: changedetection.io सेटिंग्स blind-merge mass assignment (CVE-2026-71204, मध्यम 6.3) | Kitploit
उपकरण/GitHubGitHub/nel-droid/cve-2026-71204-poc
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणAPI सुरक्षा
GitHubnel-droid/cve-2026-71204-poc

CVE-2026-71204-PoC

PoC: changedetection.io सेटिंग्स blind-merge mass assignment (CVE-2026-71204, मध्यम 6.3)

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

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

सभी देखें →

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

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

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

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

CVE-2026-71204 — changedetection.io: /settings सहेजें में छोड़ा गया चेकबॉक्स मौन रूप से API Key लागू करना अक्षम कर देता है

उत्पाद: dgtlmoon/changedetection.io — v0.55.7 फ़ाइलें: changedetectionio/blueprint/settings/__init__.py, changedetectionio/forms.py CWE: CWE-284 — अनुचित एक्सेस नियंत्रण CVSS 3.1: AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L — 6.3 (मध्यम) CNA: Turan Security · CVE रिकॉर्ड

विवरण

changedetection.io का /settings सेव हैंडलर form.data['application'] से एक अपडेट dict बनाता है और उसे .update() के माध्यम से संग्रहीत एप्लिकेशन सेटिंग्स में ब्लाइंड-मर्ज करता है। क्योंकि HTML चेकबॉक्स केवल सबमिट किए गए फ़ॉर्म डेटा में तब दिखाई देते हैं जब वे चेक किए जाते हैं, एक क्राफ्टेड POST जो केवल छोड़ देता है एक सुरक्षा-प्रासंगिक चेकबॉक्स फ़ील्ड (जैसे API key आवश्यकता लागू करने वाला) को हैंडलर स्तर पर उस स्थिति से अप्रभेद्य होता है जब उपयोगकर्ता ने UI में उसे अनचेक किया हो — ब्लाइंड .update() उस सेटिंग को मौन रूप से बंद कर देता है।

प्रभाव

एक अनुरोध जो कभी भी api_access_token_enabled (या समतुल्य) को स्पष्ट रूप से false नहीं सेट करता है — वह केवल फ़ील्ड को POST बॉडी से बाहर छोड़ देता है — परिणामस्वरूप एप्लिकेशन सेटिंग्स को उस सुरक्षा के प्रभावी रूप से अक्षम किए जाने के साथ मर्ज कर दिया जाता है, बिना किसी स्पष्ट पुष्टिकरण चरण या ऑडिट संकेत के जो "उपयोगकर्ता ने इसे अनचेक किया" और "फ़ील्ड नहीं भेजी गई" के बीच अंतर कर सके।

पुनरुत्पादन

  1. /settings पृष्ठ पर सामान्य रूप से प्रमाणित करें।
  2. प्रस्तुत किए गए पूर्ण फ़ॉर्म को सबमिट करने के बजाय, /settings पर एक POST सबमिट करें जिसमें api_access_token_enabled फ़ील्ड (या जो भी सुरक्षित बूलियन सेटिंग परीक्षण की जा रही है) बॉडी से पूरी तरह हटा दी गई हो, केवल असंबंधित फ़ील्ड शामिल करते हुए:
    root@kitploit:~
    POST /settings HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    application-some_other_field=value
    
  3. सेटिंग्स सेव हैंडलर में ब्लाइंड form.data['application'] → .update() मर्ज लापता फ़ील्ड को स्पष्ट "बंद," के समान मानता है, सुरक्षा को मौन रूप से अक्षम करता है, बिना उपयोगकर्ता (या अनुरोध की समीक्षा करने वाले ऑडिटर) को एक स्पष्ट टॉगल-ऑफ़ संकेत दिखे।

मूल कारण

कच्चे फ़ॉर्म डेटा से ब्लाइंड dict .update() उपयोग चेकबॉक्स-आधारित सेटिंग्स के लिए "POST से अनुपस्थित फ़ील्ड" को "स्पष्ट रूप से false पर सेट फ़ील्ड" के साथ एक मान लेता है — HTML फ़ॉर्म कभी भी अनचेक किए गए चेकबॉक्स को सबमिट नहीं करते, इसलिए यह पैटर्न सुरक्षा निहितार्थ वाले किसी भी सेटिंग फ़ील्ड के लिए असुरक्षित है।

सुधार अनुशंसा

अपेक्षित बूलियन सेटिंग फ़ील्ड्स को स्पष्ट रूप से सूचीबद्ध करें और अनुपस्थित फ़ील्ड्स को उनके वर्तमान संग्रहीत मान पर डिफ़ॉल्ट करें (False नहीं), या एक फ़ॉर्म लाइब्रेरी का उपयोग करें जो "सबमिट नहीं किया गया" को "अनचेक के रूप में सबमिट किया गया" से अलग करती है और सुरक्षा-प्रासंगिक टॉगल्स को ब्लाइंड dict मर्ज के बजाय स्पष्ट रूप से मान्य करती है।

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