CVE-2026-87975Privilege abuse in model formsets with editable primary keys
Updated under an hour ago ()
Does this affect you?
It affects djangoproject Django. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18. `django.forms.models.BaseModelFormSet.save_existing_objects()` used the presence of a primary key on a submitted form's instance as evidence that the instance belonged to the formset's limiting queryset. An object outside that queryset is represented by a newly constructed instance whose primary key can still be populated from submitted data when the model's primary key is a field accepted by the form, such as a `OneToOneField` or parent link used as the primary key of an inline formset's model, or a natural or UUID primary key included in the form's fields. This allows an authenticated user permitted to submit such a formset to delete rows outside the limiting queryset, without any permission on the targeted object, via forged management-form data marking an out-of-queryset object for deletion. Models using the default AutoField primary key are not affected. Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected. Django would like to thank Seonggwon Yoon for reporting this issue.
- CVSS
- 4.3 MEDIUM (v3.1, CNA)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
- Weakness (CWE)
- CWE-639
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- DSF
- NVD analysis
- Deferred
- Record last updated
- Oct 6, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
djangoproject Django djangoproject:django (from the name) | from 6.1 before 6.1.2; 6.1.2 not affected; from 6.0 before 6.0.9; 6.0.9 not affected; from 5.2 before 5.2.18; 5.2.18 not affected | CNA record |
References
- https://docs.djangoproject.com/en/dev/releases/security/vendor-advisory
- https://groups.google.com/g/django-announcemailing-list
- https://github.com/django/django/commit/83cbd21be57483e6b3eb6e4688a561c841aff75epatch
- https://github.com/django/django/commit/cce6c57ed30ea83725f9d6abb2fe5ee932bab107patch
- https://github.com/django/django/commit/b83ab92bc5474558b083a840ea4628b3261b2cfepatch
- https://github.com/django/django/commit/ff27883ca055aa9ab23015b50674a5b10dfe5a41patch
- https://www.djangoproject.com/weblog/2026/oct/06/security-releases/vendor-advisory
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.