PT-2026-49569 · Fastapi+2 · Fastapi+2
CVSS v3.1
5.3
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
Python-Multipart versões anteriores a 0.0.30
Descrição
A função
parse options header analisava os cabeçalhos Content-Disposition e Content-Type usando email.message.Message, que aplica a decodificação RFC 2231/5987. Isso permite que a sintaxe de parâmetros estendidos, como filename*, name* e formas de continuação (filename*0, filename*1), substitua os parâmetros simples quando ambos estão presentes. No entanto, a RFC 7578 §4.2 proíbe explicitamente a forma filename* em multipart/form-data.Isso cria um conflito de interpretação onde componentes upstream (como WAFs, proxies ou gateways) que seguem a RFC 7578 ou que não implementam a decodificação RFC 2231/5987 podem interpretar os cabeçalhos de forma diferente do backend. Um invasor pode explorar isso para contrabandear um nome de campo ou nome de arquivo diferente através de um inspetor. Isso afeta as APIs
parse options header, FormParser, create form parser e parse form, e impacta o Starlette/FastAPI via request.form(), expondo valores contrabandeados como nomes de campos de formulário ou UploadFile.filename.As consequências potenciais incluem a evasão de controles de acesso ou de upload baseados em nomes de campos ou de arquivos, e a travessia de diretório (path traversal) se a aplicação construir caminhos de sistema de arquivos a partir do nome de arquivo analisado sem sanitização, já que sequências codificadas em porcentagem como
..%2F são decodificadas.Recomendações
Atualize para a versão 0.0.30 ou posterior.
Exploit
Correção
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Fastapi
Python-Multipart
Starlette