Django 2.1 before 2.1.15 Incorrect Default Permissions Vulnerability

Summary

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. 

Credit:

The information has been provided by Shen Ying

The original article can be found at: https://docs.djangoproject.com/en/dev/releases/security/


Details

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

 

Vulnerable Systems:

Django 2.1 before 2.1.15

Django 2.2 before 2.2.8

 

CVE Information:

CVE-2019-19118

 

Disclosure Timeline:
Published Date:12/2/2019

Categories: FeaturedNews