Skip to content

Django allows unintended model editing

Moderate severity GitHub Reviewed Published Dec 4, 2019 to the GitHub Advisory Database • Updated Mar 7, 2024

Package

pip django (pip)

Affected versions

>= 2.1.0, < 2.1.15
>= 2.2.0, < 2.2.8

Patched versions

2.1.15
2.2.8

Description

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.)

References

Reviewed Dec 4, 2019
Published to the GitHub Advisory Database Dec 4, 2019
Last updated Mar 7, 2024

Severity

Moderate
6.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Weaknesses

CVE ID

CVE-2019-19118

GHSA ID

GHSA-hvmf-r92r-27hr

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.