PT-2026-41799 · Iskorotkov+1 · Avro+1
Klajok
·
Publicado
2026-05-18
·
Atualizado
2026-05-29
·
CVE-2026-46384
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
iskorotkov/avro versões anteriores a 2.33.0
github.com/hamba/avro/v2 versões anteriores a 2.32.0
Descrição
Vários caminhos do decodificador Avro leem valores de 64 bits controlados por um invasor a partir do formato de rede e, ou os estreitam para um
int do tamanho da plataforma antes da verificação de limites, ou os somam usando aritmética de inteiros com sinal propensa a estouro. Em alvos de 32 bits, esses caminhos de truncamento podem ignorar limites de fatias de bytes, selecionar o ramo de união incorreto ou causar um pânico durante leituras de bloco OCF. Além disso, três problemas afetam todas as plataformas: estouro aritmético de tamanho cumulativo em arrayDecoder.Decode(), mapDecoder.Decode() e mapDecoderUnmarshaler.Decode() (que podem ignorar MaxSliceAllocSize e MaxMapAllocSize), negação de math.MinInt no manuseio de cabeçalho de bloco e alocação de tamanho negativo em make([]byte, size) durante leituras de bloco OCF. Essas falhas fornecem a um invasor um primitivo de negação de serviço por meio de um fluxo Avro não confiável.Recomendações
Atualize o iskorotkov/avro para a versão 2.33.0 ou posterior.
Migre do github.com/hamba/avro/v2 para o iskorotkov/avro versão 2.33.0 ou posterior.
Como mitigação temporária, evite decodificar dados Avro não confiáveis.
Restrinja o acesso às funções
arrayDecoder.Decode(), mapDecoder.Decode() e mapDecoderUnmarshaler.Decode() ao processar entradas não confiáveis.Correção
DoS
Integer Underflow
Integer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Avro
Github.Com/Iskorotkov/Avro/V2