PT-2024-20454 · Vyper · Vyper

Ifrostizz

·

Publicado

2024-02-07

·

Atualizado

2024-02-15

·

CVE-2024-24563

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
Versões do Vyper anteriores à versão corrigida
Descrição
O problema decorre do fato de o verificador de tipos permitir o uso de inteiros assinados como índices de matrizes, que são definidas apenas para inteiros não assinados. Isso pode levar a um comportamento imprevisível, ao acesso a elementos inacessíveis e à negação de serviço. A vulnerabilidade está presente de diferentes formas em todas as versões. Para inteiros assinados, é utilizada a representação em complemento de 2 e, como a matriz foi declarada como muito grande, a verificação de limites será aprovada, com valores negativos sendo representados como números muito grandes. Existem três classes potenciais de vulnerabilidade: comportamento imprevisível, acesso a elementos inacessíveis e negação de serviço. Foi realizada uma pesquisa de contratos, e não foram encontrados contratos de produção afetados.
Recomendações
Como solução temporária, considere desativar o uso de inteiros assinados como índices para matrizes até que um patch esteja disponível.
Restrinja o acesso a matrizes grandes para minimizar o risco de exploração.
Evite usar índices negativos em acessos à matriz até que o problema seja resolvido.
Atualize para uma versão que inclua o patch para este problema, conforme mencionado na solicitação de pull do GitHub.
No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta vulnerabilidade.

Exploit

Improper Validation of Array Index

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-24563
GHSA-52XQ-J7V9-V4V2
PYSEC-2024-150

Produtos afetados

Vyper