PT-2026-110652 · Hexpm · Hex
CVSS v4.0
2.1
Baixa
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Nome do Software Vulnerável e Versões Afetadas
hexpm hex versões 0.11.2 a 2.5.1
Description
Um tratamento inadequado de dados altamente compactados, conhecido como amplificação de dados, permite que um espelho de pacotes não confiável esgote a memória ou o espaço em disco de uma máquina que execute
mix deps.get, mix deps.update, mix hex.package fetch ou mix hex.docs fetch. Isso ocorre quando um espelho é configurado via HEX MIRROR URL, HEX MIRROR ou mirror url.Detalhes técnicos incluem:
- A função
Hex.HTTP.request/5lê todo o corpo da resposta na memória e o descompacta usando:zlib.gunzip/1se oContent-Encodingcontivergzip, sem limites para o tamanho compactado ou descompactado. Isso afeta respostas de registro, pacotes, documentação e API. - Arquivos tarball de pacotes não possuem limites de tamanho de download. Na versão 2.5.1, todo o tarball é mantido na memória e gravado no cache antes que o limite de 16 MiB seja verificado durante a descompactação.
- Os comandos
mix hex.docs fetchemix hex.docs offlinegravam tarballs de documentação no disco e os extraem usando:mix hex erl tar.extract/2sem aplicar os limites de 16 MiB compactados e 128 MiB descompactados utilizados pormix hex tarball:unpack docs/3. - Respostas de registro são descompactadas antes que suas assinaturas sejam verificadas.
Recommendations
Atualize o hexpm hex para a versão 2.5.2 ou posterior usando
mix local.hex.
Como solução temporária, busque pacotes apenas do repo.hex.pm ou de um espelho que você opere.
Execute o Mix sob limites de memória e disco do sistema operacional, como limites de container, para confinar o impacto.Correção
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Hex