PT-2026-56839 · Pypi+1 · Soupsieve+1
CVE-2026-49476
·
Publicado
2026-07-09
·
Atualizado
2026-07-28
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
soupsieve versões anteriores a 2.8.4
Descrição
O analisador de seletores CSS no soupsieve aloca memória ilimitada ao compilar listas de seletores extensas separadas por vírgulas. Um invasor pode fornecer uma string de seletor manipulada para a função
soupsieve.compile() ou para os métodos .select() e .select one() do Beautiful Soup para fazer com que a aplicação aloque centenas de megabytes de memória heap a partir de uma entrada relativamente pequena. Por exemplo, uma string de seletor de 500 KB pode desencadear uma alocação de aproximadamente 244 MB de memória heap, resultando em uma taxa de amplificação de 488x. Essa exaustão de memória pode levar à negação de serviço por meio de encerramentos OOM (Out of Memory) em ambientes conteinerizados, thrashing de swap em servidores bare-metal ou terminação do processo via exceção MemoryError. A causa raiz é a ausência de um limite para o número de seletores em uma lista separada por vírgulas, onde cada objeto de seletor consome aproximadamente 976 bytes de memória heap.Recomendações
Atualize o soupsieve para a versão 2.8.4.
Como mitigação temporária, restrinja ou valide os seletores CSS fornecidos pelo usuário antes que sejam passados para
soupsieve.compile(), .select() ou .select one() para garantir que não contenham um número excessivo de itens separados por vírgulas.Exploit
Correção
DoS
Resource Exhaustion
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Beautiful Soup
Soupsieve