PT-2024-22611 · Symfony · Symfony

Darkpills

·

Publicado

2024-03-22

·

Atualizado

2024-03-22

·

CVE-2024-28861

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Symfony 1, versões 1.1.0 a 1.5.18
Descrição
O problema está relacionado a uma cadeia de vulnerabilidades causada por uma deserialização perigosa na classe sfNamespacedParameterHolder, o que poderia permitir que um invasor conseguisse executar código remotamente caso um desenvolvedor deserialize entradas do usuário em seu projeto. Essa vulnerabilidade não representa uma ameaça direta, mas é um vetor que permitirá a execução remota de código caso um desenvolvedor deserialize dados de usuário não confiáveis. O número estimado de dispositivos potencialmente afetados em todo o mundo não foi divulgado.
A vulnerabilidade é explorada por meio do método unserialize() na classe sfNamespacedParameterHolder, o que permite que um invasor forneça qualquer tipo de objeto para fazer com que o PHP acesse propriedades de array ou objeto diferentes das pretendidas pelo desenvolvedor. Especificamente, a classe sfOutputEscaperArrayDecorator implementa a interface ArrayAccess, que pode ser abusada para acionar a função escape() na classe sfOutputEscaper com parâmetros controlados pelo invasor. Isso pode levar à execução de código PHP arbitrário por meio da função call user func().
Recomendações
Para as versões 1.1.0 a 1.5.18 do Symfony 1, atualize para a versão 1.5.19, que contém um patch para o problema. Como solução temporária, considere adicionar verificação de tipo antes de processar entradas deserializadas, como verificar se os dados são uma matriz antes de acessar seus elementos. Por exemplo:
php

public function unserialize($data)

{

Exploit

Correção

Deserialization of Untrusted Data

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-28861
GHSA-PV9J-C53Q-H433

Produtos afetados

Symfony