CVE-2021-32618
Açıklama
Python "Flask-Security-Too" paketi, Flask uygulamanıza güvenlik özellikleri eklemek için kullanılır. Bu paket, Flask-Security'nin 3.0.0 sürümüne dayanan ve bağımsız olarak sürdürülen bir versiyonudur. Flask-Security-Too'nun tüm sürümleri, `?next` sorgu parametresine uyarak birçok başarılı görünümden (örneğin `/login`) sonra yönlendirmelere izin verir. FS içerisinde, `next` parametresinde belirtilen URL'nin ya göreceli olduğunu YA DA istek yapan URL ile aynı `netloc` (ağ konumu) değerine sahip olduğunu doğrulamak için kod bulunmaktadır. Bu kontrol, Python'un `urlsplit` kütüphanesini kullanır. Ancak birçok tarayıcı, kabul ettiği URL türleri konusunda oldukça esnektir ve eksik olma ihtimali olan bir URL ile karşılaştığında "boşlukları doldurur". Somut bir örnek olarak; `http://login?next=\\\github.com` şeklinde ayarlanan bir bağlantı, FS'nin göreceli URL kontrolünden geçer ancak birçok tarayıcı bunu memnuniyetle `http://github.com` adresine dönüştürür. Böylece bir saldırgan, meşru bir siteyi kullanarak böyle bir bağlantıyı habersiz bir kullanıcıya gönderebilir ve kullanıcıyı istediği herhangi bir siteye yönlendirebilir. Eğer WSGI katmanı olarak Werkzeug kullanılırsa (ki bu Flask uygulamalarında çok yaygındır), varsayılan olarak `Location` başlığının HER ZAMAN mutlak olmasını sağladığı için bu saldırı vektörü etkisiz hale gelir; bu nedenle durum düşük öncelikli olarak değerlendirilmektedir. Uygulama geliştiricilerinin `autocorrect_location_header=False` ayarını yaparak bu varsayılan davranışı değiştirmeleri mümkündür.
Nasıl düzeltilir
- flask-security-too4.1.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| flask-security_project flask-security | Aralık belirtilmemiş | — |
| flask-security-tooPyPI | v < 4.1.0 | 4.1.0 |
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.