PT-2024-6226 · Django+6 · Django+6
Josh Schneier
·
Publicado
2024-06-23
·
Atualizado
2026-01-30
·
CVE-2024-39330
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Nome do software vulnerável e versões afetadas
Versões do Django 4.2 a 4.2.13
Versões do Django 5.0 a 5.0.6
Descrição
O problema está relacionado às classes derivadas da classe base
django.core.files.storage.Storage que sobrescrevem a função generate filename() sem replicar as validações do caminho do arquivo da classe pai. Isso potencialmente permite a traversal de diretórios por meio de determinadas entradas durante uma chamada save(). As subclasses Storage integradas não são afetadas. A vulnerabilidade está associada à restrição incorreta do nome do caminho do arquivo, o que pode permitir que um invasor remoto grave arquivos arbitrários.Recomendações
Para as versões 4.2 a 4.2.13 do Django, atualize para a versão 4.2.14 ou posterior.
Para as versões 5.0 a 5.0.6 do Django, atualize para a versão 5.0.7 ou posterior.
Como solução temporária, considere desativar a função
generate filename() nas classes derivadas de django.core.files.storage.Storage até que um patch esteja disponível. Restrinja o acesso ao método save() para minimizar o risco de exploração. Evite usar a função generate filename() sem validações adequadas do caminho do arquivo até que o problema seja resolvido.Correção
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Alt Linux
Astra Linux
Debian
Django
Linuxmint
Suse
Ubuntu