A falha existe mais precisamente no plugin KingComposer, que serve essencialmente para construir uma página com base na metodologia Drag and Drop.
O XSS é do tipo refletido, podendo ser explorado caso o atacante consiga fazer com que a vítima clique num link malicioso e, dessa forma, redireciona-a para o site vulnerável juntamente com o payload.
A esta falha foi atribuído o CVE-2020-15299, cujo impacto se centra nas versões anteriores a 2.9.5
Causa da falha
No plugin, existe uma ação em AJAX (ou pedidos XHR - XML HTTP Request), que já não é usada, mas que podia ser aproveitada através de um pedido POST ao ficheiro wp-admin/admin-ajax.ph com o parâmetro - "kc_install_online_preset”.
A falha pode ser explorada codificando o payload malicioso em base64, e depois convencer a vítima a enviar o pedido com o parâmetro supracitado, e que permite que o mesmo seja executado no seu browser.
Recomendações:
- Atualizar para a versão mais recente do plugin
Recomendações para prevenir este tipo de Ataques:
- Definir o input em que se confia
- Testar os parâmetros a que adere
- Nunca refletir dados não confiáveis
- Aplicar codificação com base no contexto - Java/HTML/attribute/CSS
.
Mais informações: https://www.zdnet.com/article/kingcomposer-wordpress-plugin-patches-xss-flaw-impacting-100000-websites/
Atualizar o plugin do KingComposer: https://docs.kingcomposer.com/getting-started/plugin-update/