Na plataforma aberta para organização de comércio eletrônico , que ocupa cerca de do mercado de sistemas para criação de lojas online, vulnerabilidades, cuja combinação permite a execução de um ataque para injetar seu código no servidor, obter controle total sobre a loja online e redirecionar pagamentos. As vulnerabilidades nas versões do Magento 2.3.2, 2.2.9 e 2.1.18, onde um total de 75 problemas relacionados à segurança foram corrigidos.
Um dos problemas permite que um usuário não autenticado consiga inserir código JavaScript (XSS), que pode ser executado ao visualizar o log de pedidos cancelados na interface administrativa. A essência da vulnerabilidade está na possibilidade de contornar a operação de limpeza de texto através da função escapeHtmlWithLinks() ao processar uma anotação no formulário de cancelamento na tela de início do processo de compra (usando a tag 'a href=http://onmouseover=…' aninhada em outra tag). O problema se manifesta ao usar o módulo embutido Authorize.Net, que é utilizado para aceitar pagamentos com cartões de crédito.
Para obter controle total através de código JavaScript no contexto da sessão atual do funcionário da loja, uma segunda vulnerabilidade é explorada, permitindo o upload de um arquivo phar disfarçado de imagem ( desserialização de Phar). O arquivo Phar pode ser carregado através do formulário de inserção de imagens no editor WYSIWYG embutido. Conseguindo executar seu código PHP, o atacante pode então alterar as credenciais de pagamento ou interceptar informações de cartões de crédito dos clientes.
Curiosamente, informações sobre o problema de XSS foram enviadas aos desenvolvedores do Magento em setembro de 2018, após o que, no final de novembro, um patch foi lançado, que, como se viu, corrige apenas um dos casos particulares e pode ser facilmente contornado. Em janeiro, foi relatada adicionalmente a possibilidade de upload de arquivos Phar disfarçados como imagens e demonstrado como a combinação de duas vulnerabilidades pode ser usada para comprometer lojas online. No final de março, no Magento 2.3.1,
2.2.8 e 2.1.17, o problema com arquivos Phar foi corrigido, mas a correção do XSS foi esquecida, embora o ticket sobre o problema tenha sido fechado. Em abril, a análise do XSS foi reiniciada e o problema foi corrigido nas versões 2.3.2, 2.2.9 e 2.1.18.
É importante notar que nas versões mencionadas, 75 vulnerabilidades foram corrigidas, sendo 16 delas classificadas como críticas, e 20 problemas podem levar à execução de código PHP ou à injeção de operações SQL. A maioria das questões críticas pode ser explorada apenas por um usuário autenticado, mas como mostrado acima, a execução de operações autenticadas não é difícil de alcançar por meio de vulnerabilidades XSS, das quais várias dezenas foram corrigidas nas versões mencionadas.
Fonte: opennet.ru
