PT-2026-47332 · Req · Req

Peter Ullrich

+1

·

Publicado

2026-06-08

·

Atualizado

2026-06-08

·

CVE-2026-49755

CVSS v4.0

8.2

Alta

VetorAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/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 wojtekmach Req versões 0.1.0 a 0.6.0
Descrição O manuseio inadequado de dados altamente compactados permite que servidores HTTP controlados por atacantes esgotem a memória de um cliente por meio de corpos de resposta do tipo bomba de descompressão. O pipeline de resposta padrão inclui as funções decode body() e decompress body(). A função decode body() processa o content-type fornecido pelo servidor e chama :zip.extract(body, [:memory]) para application/zip, :erl tar.extract({:binary, body}, [:memory]) para application/x-tar e :erl tar.extract({:binary, body}, [:memory, :compressed]) para application/gzip ou .tgz. Essas operações retornam o conteúdo completo do arquivo descompactado na memória sem um limite de tamanho total. Além disso, decompress body() encadeia decodificadores :zlib, :brotli e :ezstd com base no cabeçalho content-encoding, permitindo que as respostas se expandam através de múltiplas camadas sem limite. Como essas etapas são habilitadas por padrão, uma resposta pequena pode expandir-se para vários gigabytes, travando o processo BEAM.
Recomendações Atualize para a versão 0.6.1. Como solução temporária, desabilite a decodificação automática do corpo passando decode body: false para Req.new() ou Req.get!() em requisições que buscam URLs influenciadas por atacantes. Para ignorar o pipeline de descompressão de content-encoding, passe raw: true para garantir que o corpo da resposta permaneça como bytes brutos para verificação de tamanho antes da descompressão.

Exploit

Correção

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-49755
GHSA-655F-MP8P-96GV

Produtos afetados

Req