Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-87975— Privilege abuse in model formsets with editable primary keys

Quick assessment

Affected
djangoproject Django
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

以下是对该漏洞描述信息的中文翻译: --- 在 Django 6.1 至 6.1.2 之前、6.0 至 6.0.9 之前以及 5.2 至 5.2.18 之前的版本中发现了一个安全问题。 方法将提交表单的实例中主键的存在作为该实例属于表单集所限制查询集的证据。如果一个对象不在该查询集中,它将被表示为一个新构建的实例,而该实例的主键仍可以从提交的数据中填充,前提是模型的主键是表单接受的一个字段(例如 或用作内联表单集模型主键的父链接),或者是包含在表单字段中的自然主键或 UUID 主键。这允许一个被授权提交此类表单集的

CVSS 4.3 · Medium

Possible ATT&CK Techniques 1 AI

T1136.001 · Local Account
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-87975

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Privilege abuse in model formsets with editable primary keys
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
djangoproject Django 6.1 ~ 6.1.2 -

II. Public POCs for CVE-2026-87975

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-87975

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-87975 (1)

Mailing List Discussions for CVE-2026-87975 (1)

Other References for CVE-2026-87975 (5)

Same Patch Batch · djangoproject · 2026-10-06 · 4 CVEs total

CVE-2026-87890 5.3 MEDIUM Potential request forgery via spatial lookup byte values
CVE-2026-77050 5.3 MEDIUM Potential denial-of-service vulnerability in get_supported_language_variant()
CVE-2026-84429 5.3 MEDIUM Potential denial-of-service vulnerability in HTTP header parsing

IV. Related Vulnerabilities

V. Comments for CVE-2026-87975

No comments yet


Leave a comment