PT-2026-47333 · Req · Req

Peter Ullrich

+1

·

Publicado

2026-06-08

·

Atualizado

2026-06-08

·

CVE-2026-49756

CVSS v4.0

2.1

Baixa

VetorAV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/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.5.3 a 0.5.9
Descrição A Neutralização Imprópria de Sequências CRLF, também conhecida como CRLF Injection, permite o contrabando de parâmetros multipart via metadados de parte influenciados por um atacante. A função encode form part/2 em lib/req/utils.ex constrói os cabeçalhos de cada parte interpolando os valores de name, filename e content type diretamente nas linhas de content-disposition e content-type, sem escape ou remoção de caracteres de Retorno de Carro (CR) e Alimentação de Linha (LF). Um valor contendo aspas, r ou pode fechar o valor entre aspas e iniciar uma nova linha de cabeçalho. Além disso, a adição de r --<boundary> pode encerrar a parte atual e prepender uma parte contrabandeada. Isso é especialmente acessível quando o valor é um %File.Stream{}, pois o filename assume por padrão o Path.basename(stream.path), e nomes de arquivos POSIX podem conter r e . Aplicações que encaminham nomes de arquivos, nomes de campos ou tipos MIME controlados pelo usuário através de Req.post/2 com form multipart: permitem que atacantes injetem cabeçalhos arbitrários ou contrabandeiem campos e partes adicionais nas requisições enviadas para serviços downstream.
Recomendações Atualizar para a versão 0.6.0. Sanitizar valores de name, filename e content type influenciados por atacantes antes de passá-los para Req.post/2 com form multipart:, rejeitando ou removendo qualquer valor que contenha r, ou aspas. Ao encaminhar uploads, derive o filename de uma string normalizada em vez de usar Path.basename/1 em um caminho controlado pelo usuário.

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-49756
GHSA-PX9F-WHJ3-246M

Produtos afetados

Req