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

VetorAV: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

ALT-PU-2024-10534
ALT-PU-2025-10176
BDU:2024-07170
BIT-DJANGO-2024-39330
CVE-2024-39330
GHSA-9JMF-237G-QF46
MGASA-2025-0039
OESA-2024-2002
OESA-2024-2003
OESA-2024-2004
OESA-2024-2036
OESA-2024-2280
OPENSUSE-SU-2024:0251-1
OPENSUSE-SU-2024:14203-1
OPENSUSE-SU-2024:14208-1
OPENSUSE-SU-2024_2545-1
OPENSUSE-SU-2026:10005-1
OPENSUSE-SU-2026:10125-1
PYSEC-2024-58
RHSA-2024:6428
RHSA-2024:8906
RHSA-2024:9481
SUSE-SU-2024:2545-1
SUSE-SU-2024:2577-1
USN-6888-1
USN-6888-2

Produtos afetados

Alt Linux
Astra Linux
Debian
Django
Linuxmint
Suse
Ubuntu