
CVE-2025-11554 में वर्णित भेद्यता के शोषण के लिए अवधारणा का प्रमाण, जो i-Educar सॉफ्टवेयर में उपयोगकर्ता प्रकार बदलने वाले एंडपॉइंट पर मनमाने अनुरोधों के माध्यम से विशेषाधिकार वृद्धि की संभावना से संबंधित है।
CVE-2025-11554 में वर्णित भेद्यता के शोषण के लिए प्रूफ ऑफ कॉन्सेप्ट, जो i-Educar सॉफ्टवेयर में उपयोगकर्ता प्रकार एंडपॉइंट्स पर मनमाने अनुरोधों के दौरान विशेषाधिकार वृद्धि की संभावना से संबंधित है।
उपयोगकर्ता प्रकार बदलने के लिए आवश्यक विशेषाधिकारों के बिना उपयोगकर्ता, इस क्रिया के लिए जिम्मेदार एंडपॉइंट पर मनमाने अनुरोध के माध्यम से पंजीकृत उपयोगकर्ता प्रकारों की अनुमतियों को संशोधित कर सकते हैं। यह कम-विशेषाधिकार वाले उपयोगकर्ताओं को उनके साथ जुड़े उपयोगकर्ता प्रकार को अधिकतम अनुमतियाँ प्रदान करके अपने विशेषाधिकारों को बढ़ाने की अनुमति देता है, जिससे एप्लिकेशन के सभी अनुभागों से समझौता हो जाता है।
भेद्यता प्रदर्शित करने के लिए, हम एक हमले के मार्ग का अनुकरण करेंगे जिसका उपयोग वास्तविक शोषण परिदृश्य में किया जा सकता है। सबसे पहले, हमारे पास उपयोगकर्ता Usuário sem Privilégios है, जो Baixíssimo उपयोगकर्ता प्रकार से जुड़ा है।

Baixíssimo उपयोगकर्ता प्रकार से कोई विशेषाधिकार जुड़े नहीं हैं और इसे सबसे निचला एक्सेस स्तर, Biblioteca, सौंपा गया है, जिसका स्तर 8 है।

इस प्रदर्शन के प्रयोजनों के लिए, हम देख सकते हैं कि इस भूमिका के लिए उपयोगकर्ता प्रकारों को संपादित करने की अनुमतियाँ अक्षम हैं, जिसका अर्थ है कि इससे जुड़े उपयोगकर्ताओं को उपयोगकर्ता प्रकारों को देखने, बनाने/संपादित करने या हटाने में सक्षम नहीं होना चाहिए।

Usuário sem Privilégios के रूप में लॉग इन करने पर, हम पुष्टि कर सकते हैं कि कोई अनुमतियाँ निर्दिष्ट नहीं हैं, क्योंकि उसके लिए कोई अनुभाग उपलब्ध नहीं हैं।

विशेषाधिकार वृद्धि प्रक्रिया में पहला कदम उपयोगकर्ता के निर्दिष्ट उपयोगकर्ता प्रकार की पहचान करना है। एप्लिकेशन से प्रदान किए गए HTML दस्तावेज़ लौटाने वाले अनुरोधों के विभिन्न प्रतिक्रियाओं में, यह जानकारी दस्तावेज़ के पहले script तत्व के भीतर स्थित dataLayer चर में पाई जा सकती है। हम उदाहरण के लिए, एप्लिकेशन के होम पेज तक पहुँच कर इस जानकारी को सत्यापित कर सकते हैं। इस प्रदर्शन में, अनुरोध विश्लेषण और हेरफेर के लिए Burp Suite का उपयोग किया जाएगा।

वर्तमान उपयोगकर्ता से जुड़े उपयोगकर्ता प्रकार की पहचान करने के बाद, अगला कदम डेटाबेस में संग्रहीत इसकी पहचानकर्ता निर्धारित करना है। इसे प्राप्त करने के लिए, एंडपॉइंट /usuarios/tipos/<cod_tipo_usuario> का उपयोग किया जाना चाहिए। चूंकि उपयोगकर्ता प्रकार पहचानकर्ता संख्यात्मक और अनुक्रमिक हैं, इसलिए वर्तमान उपयोगकर्ता से जुड़े उपयोगकर्ता प्रकार को खोजने तक सभी संग्रहीत उपयोगकर्ता प्रकारों की गणना करना संभव है।
उदाहरण के लिए, 1 द्वारा पहचाना गया उपयोगकर्ता प्रकार डिफ़ॉल्ट रूप से प्रशासनिक उपयोगकर्ता प्रकार, Administrador, है।

एप्लिकेशन की प्रतिक्रिया में, हम processes ऑब्जेक्ट में उपयोगकर्ता प्रकार से जुड़ी अनुमतियाँ देख सकते हैं। प्रत्येक विशिष्ट अनुभाग एक अद्वितीय संख्यात्मक पहचानकर्ता द्वारा पहचाना जाता है, और उस अनुभाग के लिए उपयोगकर्ता प्रकार का एक्सेस स्तर संख्याओं 0, 1, 2, या 3 द्वारा निर्धारित किया जाता है:
हम देख सकते हैं कि प्रशासनिक उपयोगकर्ता प्रकार के सभी अनुभागों के लिए एक्सेस स्तर 3 है।

पहचानकर्ता 2 वाले उपयोगकर्ता प्रकार का अनुरोध करने पर, हम देखते हैं कि यह वर्तमान उपयोगकर्ता से जुड़े उपयोगकर्ता प्रकार से मेल खाता है। इस उपयोगकर्ता प्रकार के सभी अनुभागों के लिए एक्सेस स्तर 0 है।


इन सबको ध्यान में रखते हुए, हम विशेषाधिकार वृद्धि के साथ आगे बढ़ सकते हैं। ऐसा करने के लिए, उसी एंडपॉइंट पर एक POST अनुरोध भेजा जाना चाहिए, जिसमें वर्तमान उपयोगकर्ता से जुड़े उपयोगकर्ता प्रकार के पहचानकर्ता के अनुरूप उपयोगकर्ता प्रकार पहचानकर्ता शामिल हो। अनुरोध निकाय में पैरामीटर _method, name, level, description, और processes शामिल होने चाहिए। सभी आवश्यक मान तुरंत समझ में नहीं आते हैं, लेकिन चूंकि यह एक ओपन-सोर्स प्रोजेक्ट है, इसलिए अनुरोध की सही संरचना कोड समीक्षा या स्थानीय इंस्टेंस पर मैन्युअल परीक्षण के माध्यम से आसानी से खोजी जा सकती है।
नीचे दिए गए अनुरोध में, हम सभी अनुभागों के लिए एक्सेस स्तर को अधिकतम एक्सेस (3) में संशोधित करते हैं और उपयोगकर्ता प्रकार को Biblioteca से Poli-institucional में बदलते हैं (level पैरामीटर मान 1 पर सेट है)। इसका अर्थ है कि उपयोगकर्ता को सभी पंजीकृत संस्थानों तक पहुँच प्राप्त होगी, न कि केवल उस संस्थान तक जो इसके निर्माण के दौरान इससे जुड़ा था।

इसके बाद, होम पेज को पुनः लोड करने पर, हम पुष्टि कर सकते हैं कि पहले विशेषाधिकारहीन उपयोगकर्ता के पास अब एप्लिकेशन के संदर्भ में सभी उपलब्ध विशेषाधिकार हैं, जो मनमाने ढंग से प्रदान किए गए हैं।

भेद्य एंडपॉइंट्स के मार्ग routes/web.php फ़ाइल में पाए जा सकते हैं।

इन मार्गों द्वारा उपयोग की जाने वाली भेद्य विधियाँ app/Http/Controllers/AccessLevelController.php फ़ाइल में पाई जा सकती हैं। ये विधियाँ उपयोगकर्ता प्रकारों पर अनुरोधित क्रियाओं को निष्पादित करने से पहले अनुरोध करने वाले उपयोगकर्ता पर अनुमति जाँच नहीं करती हैं।


यह सॉफ्टवेयर विभिन्न सार्वजनिक संस्थानों में स्कूल प्रबंधन समाधान के रूप में उपयोग किया जाता है। प्रत्येक इंस्टेंस में संभावित रूप से पंजीकृत उपयोगकर्ताओं और छात्रों के बारे में विभिन्न प्रकार की संवेदनशील जानकारी होती है, जैसे पहचान दस्तावेज़ और चिकित्सा रिकॉर्ड (चिकित्सा स्थितियाँ)। ऐसे परिदृश्य में जहां एक कम-विशेषाधिकार वाला दुर्भावनापूर्ण उपयोगकर्ता या हमलावर-नियंत्रित खाता इस भेद्यता का शोषण करता है, इन रिकॉर्ड्स की गोपनीयता, अखंडता और उपलब्धता जोखिम में होगी। परियोजना का त्वरित सुरक्षा मूल्यांकन इस कमजोरी को उजागर करेगा।