Klajok

#15552de 53,635
17.4CVSS total
Vulnerabilidades · 2
Alta
2
PT-2026-41799
8.7
2026-05-18
Iskorotkov · Avro · CVE-2026-46384
**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.
PT-2026-41800
8.7
2026-05-18
Iskorotkov · Avro · CVE-2026-46385
**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 **Description** Ocorre uma negação de serviço (DoS) remota e não autenticada devido ao esgotamento de CPU nos decodificadores de array e mapa do Avro. O problema surge porque os decodificadores percorrem um valor de contagem de blocos controlado por um invasor sem verificar o estado de erro do leitor subjacente dentro do corpo do loop. Em alvos amd64 e arm64, a função `Reader.ReadBlockHeader` retorna a contagem como um `int` de 64 bits, permitindo que um produtor declare um bloco de até `math.MaxInt64` elementos. Se a carga útil for truncada ou terminar com EOF, o decodificador continuará a realizar iterações sem operação até que o loop seja concluído, efetivamente travando um núcleo de CPU até que o processo seja terminado, cancelado por prazo ou encerrado por falta de memória (OOM-killed). Os detalhes técnicos envolvem as seguintes funções vulneráveis: - `sliceSkipDecoder.Decode()` - `mapSkipDecoder.Decode()` - `Reader.ReadArrayCB()` - `Reader.ReadMapCB()` **Recommendations** Para iskorotkov/avro versões anteriores a 2.33.0, atualize para a versão 2.33.0 ou posterior. Para github.com/hamba/avro/v2 versões anteriores a 2.32.0, migre para o iskorotkov/avro versão 2.33.0 ou posterior. Para fornecer defesa em profundidade contra cargas úteis superdimensionadas, configure `Config.MaxByteSliceSize`, `Config.MaxSliceAllocSize` e `Config.MaxMapAllocSize` para definir limites de alocação explícitos.