Em uma plataforma aberta para organização de e-commerce
Um problema permite que um usuário não autenticado obtenha posicionamento JavaScript (XSS) que pode ser executado ao visualizar o histórico de compras canceladas na interface administrativa. A essência da vulnerabilidade é a capacidade de ignorar a operação de limpeza de texto usando a função escapeHtmlWithLinks() ao processar uma nota no formulário de cancelamento na tela de checkout (usando a tag “a href=http://onmouseover=..." aninhado em outra tag). O problema se manifesta ao usar o módulo Authorize.Net integrado, que é usado para aceitar pagamentos com cartão de crédito.
Para obter controle total usando código JavaScript no contexto da sessão atual de um funcionário da loja, uma segunda vulnerabilidade é explorada, que permite carregar um arquivo phar sob o disfarce de uma imagem (
Curiosamente, as informações sobre o problema do XSS foram enviadas aos desenvolvedores do Magento em setembro de 2018, após o que um patch foi lançado no final de novembro, que, como se viu, elimina apenas um dos casos especiais e é facilmente contornado. Em janeiro, foi adicionalmente relatado sobre a possibilidade de baixar um arquivo Phar sob o disfarce de uma imagem e mostrou como uma combinação de duas vulnerabilidades poderia ser usada para comprometer lojas online. No final de março no Magento 2.3.1,
2.2.8 e 2.1.17 corrigiram o problema com os arquivos Phar, mas esqueceram a correção do XSS, embora o ticket de problema tenha sido fechado. Em abril, a análise XSS foi retomada e o problema foi corrigido nas versões 2.3.2, 2.2.9 e 2.1.18.
Deve-se notar que essas versões também corrigem 75 vulnerabilidades, 16 das quais são classificadas como críticas, e 20 problemas podem levar à execução de código PHP ou substituição de SQL. A maioria dos problemas críticos só pode ser cometida por um usuário autenticado, mas como mostrado acima, as operações autenticadas podem ser facilmente realizadas usando vulnerabilidades XSS, das quais várias dezenas foram corrigidas nas versões mencionadas.
Fonte: opennet.ru