Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Son 7 gün
  • CWE-390
  • CWE-613

CVE-2026-114137

Django REST framework'te TokenProxy.delete token iptal etmiyor, başarılı görünüyor

encode django-rest-framework

Yüksek 7,4 CVSS 3.1
Yayımlandı
Güncellendi
23 Eki 2026
Açık yaşı
6 gün
Kaydı açan
GitHub_M

ÖzetTürkçe

Django REST framework, Web API'leri oluşturmak için bir araç takımıdır. 3.12.0 sürümünden 3.18.2 sürümüne kadar olan sürümlerde, rest_framework/authtoken/models.py dosyasındaki TokenProxy.delete metodu, satırları belirleyen somut Token token dizgisi birincil anahtarı yerine vekilin kullanıcı kimliği (pk) değerini kullanmaktadır. Bu nedenle Django, hiçbir satırla eşleşmeyen bir silme sorgusu gönderir ve hata vermeden sıfır silme bildirir. Bu nedenle, kimlik bilgilerini bir TokenProxy örneği üzerinden iptal eden uygulamalar, yönetim entegrasyonları veya operasyonel betikler, iptalin başarılı olduğuna inanabilir; oysa token aktif kalmaya ve kimlik doğrulamaya devam eder. DRF'nin kendi TokenAdmin.delete_model geçici çözümü bu sorundan etkilenmez, ancak diğer çağıranlar erişimi süresiz olarak açık bırakabilir, çünkü DRF tokenları otomatik olarak sona ermez. Bu sorun 3.18.2 sürümünde giderilmiştir.

Kaynaktaki açıklama (İngilizce)

Django REST framework is a toolkit for building Web APIs. From 3.12.0 until 3.18.2, TokenProxy.delete() in rest_framework/authtoken/models.py uses the proxy's user-id pk while the concrete Token token-string primary key identifies rows, so Django issues a deletion query that matches no row and reports zero deletions without raising an error. Applications, administrative integrations, or operational scripts that revoke credentials through a TokenProxy instance can therefore believe revocation succeeded while the token remains live and continues authenticating. DRF's own TokenAdmin.delete_model workaround is not affected, but other callers can leave access available indefinitely because DRF tokens do not expire automatically. This issue is fixed in version 3.18.2.

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
encode django-rest-framework Sürüm belirtilmemiş –

Kaynaklar5 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.