PT-2020-14225 · Symfony+1 · Symfony/Expression-Language+1

Craig Blanchette

+1

·

Publicado

2020-08-19

·

Atualizado

2021-11-18

·

CVE-2020-15146

CVSS v3.1

9.6

Crítica

VetorAV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do SyliusResourceBundle anteriores à 1.3.14
Versões do SyliusResourceBundle de 1.4.0 a 1.4.6
Versões do SyliusResourceBundle de 1.5.0 a 1.5.1
Versões do SyliusResourceBundle de 1.6.0 a 1.6.3
Descrição
O problema decorre do fato de os parâmetros de solicitação não serem sanitizados adequadamente quando injetados dentro de uma expressão avaliada pelo pacote symfony/expression-language. Isso permite que um invasor acesse qualquer serviço público manipulando o parâmetro de solicitação, o que pode levar à execução remota de código.
Em um exemplo específico, acessar uma rota com um parâmetro id especialmente criado, como /route?id=“~service(‘doctrine’).getManager().getConnection().executeQuery(‘DELETE * FROM TABLE’)~”, pode resultar na execução de uma consulta no banco de dados atualmente conectado.
Para identificar esse problema em um aplicativo, procure por definições de roteamento que utilizem parâmetros de solicitação dentro da linguagem de expressão.
Recomendações
Para versões do SyliusResourceBundle anteriores à 1.3.14, atualize para a versão 1.3.14 ou posterior.
Para versões do SyliusResourceBundle de 1.4.0 a 1.4.6, atualize para a versão 1.4.7 ou posterior.
Para as versões do SyliusResourceBundle de 1.5.0 a 1.5.1, atualize para a versão 1.5.2 ou posterior.
Para as versões do SyliusResourceBundle de 1.6.0 a 1.6.3, atualize para a versão 1.6.4 ou posterior.
Como solução alternativa temporária, considere adicionar addslashes em OptionsParser::parseOptionExpression para sanitizar a entrada do usuário antes de avaliá-la usando o ex

Exploit

Correção

Special Elements Injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-15146
GHSA-H6M7-J4H3-9RF5

Produtos afetados

Syliusresourcebundle
Symfony/Expression-Language