CVE Intelligence
Análise Assistido por IA

CVE-2026-27820: Gem zlib do Ruby: estouro de buffer em GzipReader ungetc

A gem zlib do Ruby contém um estouro de buffer em Zlib::GzipReader que pode corromper memória quando os dados fornecidos excedem a capacidade da string de suporte. A NVD atribui pontuação 9.8 pelo CVSS 3.1, e o registro indica versões corrigidas 3.0.1, 3.1.2 e 3.2.3. Nenhuma exploração confirmada aparece nas fontes consultadas, e a CVE não consta no catálogo KEV da CISA.

Publicada em 24/10/2026 · Atualizada em 24/10/2026 · Read in English

Visão geral

A gem zlib é a interface Ruby para a biblioteca de compressão zlib. Segundo o aviso do GitHub citado no registro, a função zstream_buffer_ungets em Zlib::GzipReader pode deslocar dados existentes com memmove antes de confirmar que a string Ruby de suporte tem capacidade suficiente. A fraqueza é classificada como CWE-120 (Estouro de buffer clássico).

Impacto

  • O registro descreve possível corrupção de memória quando o comprimento do buffer excede a capacidade disponível.
  • A NVD atribui pontuação 9.8 (crítica) pelo CVSS 3.1, com vetor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Esse vetor indica alcance pela rede, sem necessidade de privilégios ou interação do usuário, com alto impacto em confidencialidade, integridade e disponibilidade.
  • O GitHub, como CNA, lista pontuação 1.7 pelo CVSS 4.0, valor bem diferente da avaliação da NVD. Ambos os valores constam no registro.

Produtos e versões afetadas

  • Gem zlib do Ruby: anteriores a 3.0.1; de 3.1.0 até antes de 3.1.2; de 3.2.0 até antes de 3.2.3.
  • A descrição do aviso cita 3.0.0 e anteriores, 3.1.0, 3.1.1, 3.2.0 e 3.2.1 como versões afetadas.
  • O registro também lista o produto como Ruby-lang Zlib, com intervalos equivalentes.

Status de exploração

  • O catálogo KEV da CISA não lista esta CVE, portanto não é possível afirmar exploração ativa confirmada com base no registro.
  • Nenhuma exploração confirmada aparece nas fontes consultadas.
  • Os dados SSVC do registro indicam exploração como none e automatizável como yes, o que são insumos de avaliação e não evidência de ataques.
  • A entrada EPSS traz probabilidade de 0.00752 e percentil de 0.54534, mas sua data (2026-10-23) é posterior à data de publicação, por isso deve ser interpretada com cautela.

Correção e mitigação

  • Atualize a gem zlib para 3.0.1 na primeira linha de versões, 3.1.2 na linha 3.1 ou 3.2.3 na linha 3.2, conforme a descrição do aviso.
  • O campo de correções do registro está vazio, então confirme a versão corrigida no aviso do GitHub e no seu Gemfile.lock, e não apenas no campo.
  • Quando a atualização imediata não for possível, reduza a exposição limitando o processamento de fluxos gzip de origens não confiáveis e isolando os serviços que os manipulam.
  • Recompile e reimplante as aplicações após a atualização, para que a nova versão seja de fato carregada.

Orientações de detecção

  • Faça o inventário de projetos Ruby e verifique os arquivos Gemfile.lock e os pacotes implantados quanto à gem zlib e sua versão.
  • Use ferramentas de análise de composição de software que relacionem a gem ao aviso, e revise também imagens de contêineres e dependências vendorizadas.
  • Monitore falhas inesperadas ou erros de memória em processos Ruby que descomprimem dados gzip de origens externas, correlacionando-os com implantações recentes.

Limitações das informações disponíveis

  • O registro não inclui detalhes de prova de conceito, e o relatório do HackerOne citado exige permissões para visualização.
  • O campo de correções está vazio, então as versões corrigidas vêm apenas do texto da descrição.
  • As pontuações CVSS da NVD e do GitHub diferem muito, e o registro não explica a diferença.
  • A data do EPSS é incompatível com a data de publicação.

Perguntas frequentes

Qual é a vulnerabilidade CVE-2026-27820?

É um estouro de buffer na gem zlib do Ruby, em Zlib::GzipReader, na função zstream_buffer_ungets, que pode corromper memória quando o comprimento do buffer excede a capacidade da string de suporte.

Quais versões foram corrigidas?

A descrição do aviso informa correção nas versões 3.0.1, 3.1.2 e 3.2.3. O campo de correções do registro está vazio, então confirme no aviso do GitHub.

Esta vulnerabilidade está sendo explorada ativamente?

A CVE não consta no catálogo KEV da CISA, e nenhuma exploração confirmada aparece nas fontes consultadas.

Esta análise foi redigida com auxílio de IA a partir de dados verificados das fontes e checada automaticamente contra eles.