CVE-2026-87975
Açıklama
Django 6.1'in 6.1.2 öncesi, 6.0'ın 6.0.9 öncesi ve 5.2'nin 5.2.18 öncesi sürümlerinde bir sorun keşfedildi. `django.forms.models.BaseModelFormSet.save_existing_objects()`, gönderilen bir formun örneğindeki bir birincil anahtarın varlığını, bu örneğin formset'in sınırlayıcı sorgu kümesine (queryset) ait olduğunun kanıtı olarak kullanıyordu. Bu sorgu kümesinin dışındaki bir nesne, yeni oluşturulmuş bir örnekle temsil edilir; ancak modelin birincil anahtarı, `OneToOneField` veya bir inline formset modelinin birincil anahtarı olarak kullanılan üst bağlantı gibi form tarafından kabul edilen bir alan olduğunda veya form alanlarına dahil edilmiş doğal bir birincil anahtar ya da UUID olduğunda, birincil anahtar hala gönderilen verilerden doldurulabilir. Bu durum, böyle bir formset'i gönderme yetkisine sahip kimliği doğrulanmış bir kullanıcının, sorgu kümesi dışındaki bir nesneyi silinmek üzere işaretleyen sahte yönetim formu verileri aracılığıyla, hedef nesne üzerinde herhangi bir izni olmaksızın sınırlayıcı sorgu kümesinin dışındaki satırları silmesine olanak tanır. Varsayılan AutoField birincil anahtarını kullanan modeller etkilenmemektedir. Daha önce, desteklenmeyen Django serileri (5.1.x, 5.0.x ve 4.2.x gibi) değerlendirilmedi ve bunlar da etkilenmiş olabilir. Django, bu sorunu bildirdiği için Seonggwon Yoon'a teşekkür eder.
Nasıl düzeltilir
- djangoproject Django6.1.2, 6.0.9, 5.2.18 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| djangoproject Django | 6.1 ≤ v < 6.1.2, 6.0 ≤ v < 6.0.9, 5.2 ≤ v < 5.2.18 | 6.1.2, 6.0.9, 5.2.18 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.