O codificador de formulários multipartes do Req interpola o `nome', `nome de arquivo' e `content_type' diretamente para os cabeçalhos das peças sem escapar. Um atacante que pode influenciar qualquer um desses valores pode injetar linhas de cabeçalho separadas pelo CRLF, contrabandear campos de formulários adicionais ou prepará- lo para o pedido que o serviço de vítimas envia para a água abaixo. `Req.Utils. encode_ form_ part/ 2 ` em `lib/req/utils.ex` compila o iodato de cabeçalho por parte, concatenando as três cadeias fornecidas pelo chamador textualmente em `disposição- conteúdo: form- data; name=" ; nome do arquivo=" "` e `tipo- conteúdo: `. Não há stripping CRLF, nenhuma citação escapando, e nenhuma validação. Um valor que contém `"\r\n` fecha o valor citado ao redor e inicia uma nova linha de cabeçalho; um `\r\n-- ` adicional termina a parte atual e permite que o atacante prepare uma parte contrabandeada.

A falha é alcançable através de todas as formas suportadas de fornecer uma peça. É especialmente fácil bater quando `valor` é um `%File.Stream{}`, porque `filename` em seguida, o padrão para `Path.basename(stream.path)` e nomes de arquivos POSIX podem conter legitimamente `\r` e `\n`. RFC 7578 / WhatWG form- data requer a codificação porcentual `"`, CR e LF nestes campos; a correção adota esse comportamento. 1. Construir um `nome de arquivo` malicioso como `harmless.txt'\r\nX-Smuggled: marquer\r\nContent-Disposition: form- data; name="pwned`. 2. Chame `Req.post!(url, form_multipart: [upload: {"corpo benigno", nome do arquivo: , content_type: "text/plain"}]]`. 3. O corpo multiparte emitido contém uma linha real de cabeçalho `X- Smuggled:` e uma `Disposição- Conteúdo' extra para `name="pwned'', ao lado dos cabeçalhos legítimos do Req.

HTTP solicita contrabando / multiparte de parâmetros contrabando no cliente HTTP. Qualquer aplicativo usando o Req para enviar pedidos `form_ multipart' onde qualquer um dos `nome', `nome de arquivo' ou `content_ type' pode ser influenciado por uma fonte não confiável é afetado, mais frequentemente carrega proxies e re- carregadores que derivam `nome de arquivo' de `Path. basename/ 1 ` em um caminho controlado pelo usuário. Registro de aconselhamento: GHSA- px 9 f-whj 3 - 246 m. Identificadores relacionados: CVE- 2026 - 49756.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 29 T 15: 29: 14.000 Z e lista a sua última modificação como 2026 - 07 - 29 T 15: 29: 15.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 4: CVSS: 4.0 /AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/África do Sul:N.

Software afetado e informações de versão: Req do pacote Hex — ECOSYSTEM: introduzido 0.5.3, corrigido 0.6.0. Classificação e evidência: identificadores de fraqueza CWE- 93. O registro contém 7 suporte de referências nestes tipos: WEB, AVISO, EMBALAGAMENTO.