Skip to main content
VulnerabilityPublished Updated

CVE-2024-39330: Django Path Traversal vulnerability

Affects DjangoSource GCVE Database

0
Compare
Authoritative record:CVE-2024-39330· Medium 4.3

Not known to be exploited · CVSS 4.3 Medium : upgrade to 5.0.7 when convenient.

Data as of 4 Nov 2026, 17:27 UTC

CVSS 3.1 base score
4.3Medium
How severe the flaw is on the 0–10 CVSS scale.
Patch
Available – fixed in 5.0.7, 4.2.14
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 10 Jul 2024

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 4 Nov 2026.

What to do

Upgrade Django to 5.0.7; Django to 4.2.14.

Affected software

ProductAffectedFixed in
PyPIDjangoAffected
  • >=5.0 <5.0.7
Fixed in
  • 5.0.7
PyPIDjangoAffected
  • >=4.2 <4.2.14
Fixed in
  • 4.2.14

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Apply the official patches by upgrading Django to version 5.0.7 or later, or 4.2.14 or later. These versions include the necessary file-path validation in generate_filename() to prevent directory traversal. No additional mitigation is required if these versions are in use.

Description

CVE-2024-39330 is a directory traversal vulnerability in Django versions 5.0 before 5.0.7 and 4.2 before 4.2.14. It affects derived classes of the django.core.files.storage.Storage base class that override generate_filename() without replicating the parent class's file-path validations. This flaw can allow an attacker to perform directory traversal during a save() call. Built-in Storage subclasses are not affected. The issue has been fixed in Django 5.0.7 and 4.2.14.

References

Community reviews

Loading reviews…