PT-2026-60901 · Pypi · Flask-Reuploaded

CVE-2026-54567

·

Publicado

2026-07-17

·

Atualizado

2026-07-23

CVSS v3.1

7.5

Alta

VetorAV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas Flask-Reuploaded versões anteriores a 1.5.1
Descrição Existe um problema na função UploadSet.save() onde o parâmetro name pode ser utilizado para ignorar listas de permissões (denylists) de extensões. Quando um usuário fornece uma substituição de name, o sistema realiza uma revalidação usando um auxiliar extension() que preserva a caixa, em vez do auxiliar lowercase ext() que normaliza para letras minúsculas, utilizado no caminho de upload padrão. Essa assimetria permite que invasores façam upload de arquivos com extensões proibidas usando nomes de arquivos com letras maiúsculas e minúsculas misturadas (ex: shell.PHP ou evil.pHp), pois a verificação contra a denylist em letras minúsculas retorna verdadeiro para variantes em maiúsculas. Em servidores que executam arquivos sem distinguir maiúsculas de minúsculas, como Windows, macOS ou configurações específicas do Apache, isso pode levar à execução remota de código.
Recomendações Para versões anteriores a 1.5.1, normalize a extensão para letras minúsculas antes da verificação de política, utilizando extension(basename).lower() ou lowercase ext(basename) dentro da função UploadSet.save(). Como mitigação temporária, evite passar valores influenciados pelo usuário para o parâmetro name na função save().

Correção

Unrestricted File Upload

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-54567
GHSA-937X-GPQR-72GG
PYSEC-2026-3466

Produtos afetados

Flask-Reuploaded