Every CVE Search/ Get API key

CVE-2019-19118

Django allows unintended model editing

6.5 MediumFix available

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

1.67%Unchanged since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 6.5

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
CVE-2019-19118
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
CVSS 2.0
4.0 MediumAV:N/AC:L/Au:S/C:N/I:P/A:N
Weakness
CWE-276
Updated
2026-11-02
CVE List No score

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
CVE-2019-19118
Updated
2026-11-02
EUVDEUVD-2019-0039 No score

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
EUVD-2019-0039
Updated
2026-11-03
GitHub AdvisoriesGHSA-hvmf-r92r-27hr 7.1

Django allows unintended model editing

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
GHSA-hvmf-r92r-27hr
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-276
Updated
2026-11-02
OSV 6.5

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
CVE-2019-19118
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVDEBIAN-CVE-2019-19118 6.5

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
DEBIAN-CVE-2019-19118
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
Show 9 moreShow less
OSVGHSA-hvmf-r92r-27hr 7.1

Django allows unintended model editing

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
GHSA-hvmf-r92r-27hr
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-276
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-2019-15 No score

Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)

Record
PYSEC-2019-15
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
2.1 up to 2.1.15
2.1.15
django
PyPI
2.2 up to 2.2.8
2.2.8
python-django
Debian:12
before 2:2.2.8-1
2:2.2.8-1
python-django
Debian:13
before 2:2.2.8-1
2:2.2.8-1
python-django
Debian:14
before 2:2.2.8-1
2:2.2.8-1
django
PyPI
2.1 up to 2.1.15, plus listed versions
2.1.12.1.102.1.112.1.122.1.13
Show 8 moreShow less
2.1.142.1.22.1.32.1.42.1.52.1.72.1.82.1.9
2.1.15
django
PyPI
2.2 up to 2.2.8, plus listed versions
2.2.12.2.22.2.32.2.42.2.52.2.62.2.7
2.2.8
django
PyPI
2.1 up to 2.1.15, 2.2 up to 2.2.8, plus listed versions
2.1.12.1.22.1.32.1.42.1.5
Show 15 moreShow less
2.1.72.1.82.1.92.1.102.1.112.1.122.1.132.1.142.2.12.2.22.2.32.2.42.2.52.2.62.2.7
2.1.152.2.8
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
Show 5 moreShow less
Affected packages
PackageAffectedFixed
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
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

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

In short

CVE-2019-19118 is a medium vulnerability (CVSS 6.5) in Djangoproject Django, published December 2, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.67%, the 76th percentile. Fixed in django 2.1.15.

References

Show 102 moreShow less
MoveEnter Open