Django · Django · CVE-2024-39330
**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.