CVE-2020-15105

Orta

Açıklama

1.12 öncesindeki Django Two-Factor Authentication, kullanıcının parolasını kullanıcı oturumunda açık metin olarak (base64 ile kodlanmış şekilde) saklar. Parola, kullanıcı kullanıcı adını ve parolasını gönderdiğinde oturuma kaydedilir ve iki faktörlü kimlik doğrulama kodu girilerek kimlik doğrulama tamamlandığında kaldırılır. Bu durum, parolanın belirsiz bir süre boyunca oturumda açık metin olarak saklandığı ve eğer kullanıcı giriş işlemine başlayıp iki faktörlü kimlik doğrulama kodunu girmeden ayrılırsa potansiyel olarak sonsuza kadar orada kalacağı anlamına gelir. Bu sorunun ciddiyeti, yapılandırdığınız oturum depolama türüne bağlıdır: En kötü durumda, Django'nun varsayılan veritabanı oturum depolamasını kullanıyorsanız, kullanıcıların parolaları veritabanınızda açık metin olarak saklanır. En iyi durumda, Django'nun imzalı çerez (signed cookie) oturumunu kullanıyorsanız, kullanıcıların parolaları yalnızca tarayıcılarının çerez deposunda açık metin olarak saklanır. Django'nun önbellek (cache) oturum deposunun kullanıldığı yaygın durumda ise kullanıcıların parolaları, yapılandırdığınız önbellek depolamasında (genellikle Memcached veya Redis) açık metin olarak saklanır. Bu sorun 1.12 sürümünde düzeltilmiştir. Güncellemeden sonra, kullanıcılar saklanmış olan tüm açık metin parolalarını sildiklerinden emin olmalıdır. Örneğin, veritabanı oturum arka ucunu kullanıyorsanız, muhtemelen veritabanındaki tüm oturum kayıtlarını silmek ve bu verileri tüm veritabanı yedeklerinden veya replikalarından temizlemek isteyeceksinizdir. Ek olarak, etkilenen bir sürümü kullanırken veritabanı ihlaline uğrayan kuruluşlar, kullanıcılarına açık metin parolalarının ele geçirildiğini bildirmelidir. Tüm kuruluşlar, parolaları güvensiz şekilde saklanan kullanıcıları, bu parolaların kullanıldığı tüm sitelerde parolalarını değiştirmeye teşvik etmelidir. Geçici bir çözüm olarak, Django'nun oturum depolamasını veritabanı veya önbellek yerine imzalı çerezleri kullanacak şekilde değiştirmek bu sorunun etkisini azaltır; ancak bu işlem, sunucu tarafı oturum depolaması yerine imzalı çerezlerin kullanılmasının güvenlik ödünleşimleri tam olarak anlaşılmadan yapılmamalıdır. Güncelleme yapmadan sorunu tamamen gidermenin bir yolu yoktur.

ÖnemOrta
CVSS5.4
İstismar olasılığı—
ÜrünDjango Two-factor Authentication
Yayın10 Tem 2020
İlk görülme10 Tem 2020
Zayıflık türüCWE-312CWE-312

Nasıl düzeltilir

Güncelleyin
  • django_two-factor_authentication_project django_two-factor_authentication1.12 ya da sonraki bir sürüm
  • django-two-factor-auth1.12 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
django_two-factor_authentication_project django_two-factor_authenticationv < 1.121.12
django-two-factor-authPyPIv < 1.121.12

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.

Intelligence 360 paketinde

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.

CVE-2020-15105 · Django Two-factor Authentication · Dark Radar