
PoC जो Camaleon CMS में CVE-2025-2304 मास असाइनमेंट विशेषाधिकार वृद्धि का प्रदर्शन करता है, उपयोगकर्ता प्रोफ़ाइल अपडेट के दौरान पासवर्ड पैरामीटर में एक भूमिका विशेषता इंजेक्ट करके।
इस रिपॉजिटरी में Camaleon CMS (संस्करण 2.8.1 से पहले) में Mass Assignment भेद्यता के लिए एक कार्यात्मक प्रूफ ऑफ कॉन्सेप्ट (PoC) शामिल है। यह भेद्यता User Management मॉड्यूल के updated_ajax एंडपॉइंट में स्थित है, जहां एप्लिकेशन password पैरामीटर हैश के भीतर संवेदनशील विशेषताओं को सख्ती से फ़िल्टर करने में विफल रहता है।
प्रोफ़ाइल अपडेट के दौरान password स्कोप में role विशेषता को इंजेक्ट करके, एक निम्न-विशेषाधिकार वाला उपयोगकर्ता अपनी स्वयं की अनुमतियों को अधिलेखित करके admin स्थिति प्राप्त कर सकता है।
यह भेद्यता Ruby on Rails कंट्रोलर में Strong Parameters के गलत कॉन्फ़िगरेशन में निहित है। जब एप्लिकेशन AJAX अपडेट अनुरोध को संसाधित करता है, तो यह अनुचित रूप से role कुंजी को उपयोगकर्ता ऑब्जेक्ट की विशेषताओं में मर्ज करने की अनुमति देता है:
/admin/users/:id/updated_ajaxpassword[...]password[role]=adminrequests.Session का उपयोग करता है।authenticity_token को स्क्रैप करता है और इसे X-CSRF-Token हेडर के साथ सिंक्रनाइज़ करता है, Rails की AJAX सुरक्षा आवश्यकताओं को पूरा करता है।user[id] को गतिशील रूप से हल करने के लिए /admin/profile/edit पृष्ठ को पार्स करता है।POST के माध्यम से संसाधन अद्यतन के लिए एप्लिकेशन की रूटिंग आवश्यकताओं को पूरा करने के लिए _method=patch ओवरराइड लागू करता है।requestsbeautifulsoup4निर्भरताएं स्थापित करें:
pip install -r requirements.txt
python3 main.py -u <target_url> --user <username> --password <password>
/admin/login): user[username] का उपयोग करके एक प्रमाणित सत्र स्थापित करता है।/admin/profile/edit): अद्वितीय user[id] और एक ताज़ा authenticity_token निकालता है।/admin/users/:id/updated_ajax): इंजेक्शन पेलोड भेजता है।शोषण निम्नानुसार संरचित application/x-www-form-urlencoded पेलोड का उपयोग करता है:
यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत पैठ परीक्षण के लिए है। उत्पादन प्रणालियों तक अनधिकृत पहुंच अवैध है।
| पैरामीटर | मान | विवरण |
|---|
_method | patch | Rails REST विधि ओवरराइड |
authenticity_token | [Captured] | सिंक्रनाइज़ CSRF सुरक्षा |
password[password] | [NewPassword] | पासवर्ड-स्कोप सत्यापन के लिए आवश्यक |
password[role] | admin | दुर्भावनापूर्ण इंजेक्शन |