Every CVE Search/ Get API key

CVE-2020-24583

Django Incorrect Default Permissions

7.5 HighFix available

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

3.97%Up 1.5 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
CVE-2020-24583
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:P/I:N/A:N
Weakness
CWE-276
Updated
2026-11-02
CVE List No score

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
CVE-2020-24583
Updated
2026-11-02
EUVDEUVD-2020-0069 No score

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
EUVD-2020-0069
Updated
2026-11-03
GitHub AdvisoriesGHSA-m6gj-h9gm-gw44 8.7

Django Incorrect Default Permissions

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
GHSA-m6gj-h9gm-gw44
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-276
Updated
2026-11-02
OSVALPINE-CVE-2020-24583 7.5

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
ALPINE-CVE-2020-24583
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-03
OSV 7.5

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
CVE-2020-24583
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 13 moreShow less
OSVDEBIAN-CVE-2020-24583 7.5

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
DEBIAN-CVE-2020-24583
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVGHSA-m6gj-h9gm-gw44 8.7

Django Incorrect Default Permissions

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
GHSA-m6gj-h9gm-gw44
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-276
Updated
2026-11-02
OSVUBUNTU-CVE-2020-24583 7.5

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
UBUNTU-CVE-2020-24583
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVBIT-django-2020-24583 No score

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
BIT-django-2020-24583
Updated
2026-11-02
OSVopenSUSE-SU-2024:11205-1 No score

python36-Django-3.2.7-2.3 on GA media

These are all security issues fixed in the python36-Django-3.2.7-2.3 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11205-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13887-1 No score

python310-Django-4.2.11-2.1 on GA media

These are all security issues fixed in the python310-Django-4.2.11-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13887-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14208-1 No score

python310-Django4-4.2.14-1.1 on GA media

These are all security issues fixed in the python310-Django4-4.2.14-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14208-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:10005-1 No score

python312-Django6-6.0-1.1 on GA media

These are all security issues fixed in the python312-Django6-6.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10005-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11235-1 No score

python313-Django4-4.2.30-4.1 on GA media

These are all security issues fixed in the python313-Django4-4.2.30-4.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11235-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11248-1 No score

python313-Django-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11248-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11270-1 No score

python313-Django5-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django5-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11270-1
Updated
2026-11-02
OSVPYSEC-2020-33 No score

An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.

Record
PYSEC-2020-33
Updated
2026-11-02
OSVUSN-4479-1 No score

python-django vulnerabilities

It was discovered that Django, when used with Python 3.7 or higher, incorrectly handled directory permissions. A local attacker could possibly use this issue to obtain sensitive information, or escalate permissions.

Record
USN-4479-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
2.2a1 up to 2.2.16
2.2.16
django
PyPI
3.0a1 up to 3.0.10
3.0.10
django
PyPI
3.1a1 up to 3.1.1
3.1.1
py-django
Alpine:v3.10
before 1.11.29-r1
1.11.29-r1
py-django
Alpine:v3.9
before 1.11.29-r1
1.11.29-r1
py3-django
Alpine:v3.11
before 1.11.29-r1
1.11.29-r1
py3-django
Alpine:v3.12
before 1.11.29-r1
1.11.29-r1
py3-django
Alpine:v3.13
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.14
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.15
before 3.1.1-r0
3.1.1-r0
Show 27 moreShow less
Affected packages
PackageAffectedFixed
py3-django
Alpine:v3.16
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.17
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.18
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.19
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.20
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.21
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.22
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.23
before 3.1.1-r0
3.1.1-r0
py3-django
Alpine:v3.24
before 3.1.1-r0
3.1.1-r0
django
Bitnami
2.2.0 up to 2.2.16, 3.0.0 up to 3.0.10, 3.1.0 up to 3.1.1
2.2.163.0.103.1.1
python-django
Debian:12
before 2:2.2.16-1
2:2.2.16-1
python-django
Debian:13
before 2:2.2.16-1
2:2.2.16-1
python-django
Debian:14
before 2:2.2.16-1
2:2.2.16-1
python-django
Debian:10
From an advisory covering 5 CVEs
before 1:1.11.29-1+deb10u2, plus listed versions
1:1.11.21-11:1.11.22-11:1.11.22-1~deb10u11:1.11.23-1~deb10u11:1.11.27-1~deb10u11:1.11.28-1~deb10u11:1.11.29-1~deb10u1
1:1.11.29-1+deb10u2
django
PyPI
2.2a1 up to 2.2.16, plus listed versions
2.22.2.12.2.102.2.112.2.12
Show 13 moreShow less
2.2.132.2.142.2.152.2.22.2.32.2.42.2.52.2.62.2.72.2.82.2.92.2b12.2rc1
2.2.16
django
PyPI
3.0a1 up to 3.0.10, plus listed versions
3.03.0.13.0.23.0.33.0.4
Show 7 moreShow less
3.0.53.0.63.0.73.0.83.0.93.0b13.0rc1
3.0.10
django
PyPI
3.1a1 up to 3.1.1, plus listed versions
3.13.1b13.1rc1
3.1.1
django
PyPI
2.2 up to 2.2.16, 3.0 up to 3.0.10, 3.1 up to 3.1.1, plus listed versions
2.2.12.2.22.2.32.2.42.2.5
Show 19 moreShow less
2.2.62.2.72.2.82.2.92.2.102.2.112.2.122.2.132.2.142.2.153.0.13.0.23.0.33.0.43.0.53.0.63.0.73.0.83.0.9
2.2.163.0.103.1.1
python-django
Ubuntu:20.04:LTS
before 2:2.2.12-1ubuntu0.2, plus listed versions
1:1.11.22-1ubuntu12:2.2.6-1ubuntu12:2.2.9-2ubuntu12:2.2.10-12:2.2.10-1ubuntu12:2.2.11-12:2.2.12-12:2.2.12-1ubuntu0.1
2:2.2.12-1ubuntu0.2
python-django
Ubuntu:20.04:LTS
From an advisory covering 2 CVEs
before 2:2.2.12-1ubuntu0.2, plus listed versions
1:1.11.22-1ubuntu12:2.2.6-1ubuntu12:2.2.9-2ubuntu12:2.2.10-12:2.2.10-1ubuntu12:2.2.11-12:2.2.12-12:2.2.12-1ubuntu0.1
2:2.2.12-1ubuntu0.2
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 3.2.7-2.3
3.2.7-2.3
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 4.2.11-2.1
4.2.11-2.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 51 CVEs
before 4.2.14-1.1
4.2.14-1.1
python-Django6
openSUSE:Tumbleweed
From an advisory covering 70 CVEs
before 6.0-1.1
6.0-1.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 59 CVEs
before 4.2.30-4.1
4.2.30-4.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 49 CVEs
before 5.2.16-1.1
5.2.16-1.1
python-Django5
openSUSE:Tumbleweed
From an advisory covering 93 CVEs
before 5.2.16-1.1
5.2.16-1.1

History

History
RecordedChangedSources
affected, facts
affectedOSV
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-24583 is a high vulnerability (CVSS 7.5) in Djangoproject Django, published September 1, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.97%, the 90th percentile. Fixed in django 2.2.16.

References

Show 111 moreShow less
MoveEnter Open