CVE-2026-40295
Açıklama
Devise, Warden tabanlı bir Rails kimlik doğrulama çözümüdür. 5.0.3 ve altı sürümlerde, Devise içinde Timeoutable modülü etkinleştirildiğinde, oturum zaman aşımıyla sonuçlanan herhangi bir GET dışı istek için FailureApp#redirect_url yöntemi, saldırgan tarafından kontrol edilebilen HTTP Referer başlığı olan request.referrer değerini herhangi bir doğrulama yapmadan döndürür. Otomatik gönderilen çapraz kökenli (cross-origin) bir forma sahip bir sayfa barındıran bir saldırgan, süresi dolmuş bir Devise oturumu olan kurbanın rastgele bir harici URL'ye yönlendirilmesine neden olabilir. Bu durum, her ikisi de korunan GET zaman aşımı yolu (sunucu tarafındaki attempted_path'i kullanır) ve Devise'ın kendi store_location_for mekanizması (extract_path_from_location aracılığıyla harici ana bilgisayarları ayıklar) ile tezat oluşturmaktadır; yalnızca GET dışı zaman aşımı yönlendirme yolu korunmasızdır. Oturumu sona ermiş kullanıcılar, güvenilir uygulama alan adından saldırgan kontrollü URL'lere sessizce yönlendirilebilir, bu da tarayıcı uyarılarını atlayarak oltalama (phishing) ve kötü amaçlı yazılım dağıtımına olanak tanır. Not: Rails'in yerleşik açık yönlendirme (open-redirect) koruması bu sorunu gidermez. Devise::FailureApp, ilgili yönlendirme yapılandırmasının kendi izole kopyasına sahip bir ActionController::Metal uygulamasıdır, bu nedenle config.action_controller.action_on_open_redirect = :raise (ve eski raise_on_open_redirects ayarı) buraya ulaşmaz. Bu sorun 5.0.4 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- heartcombo devise5.0.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| heartcombo devise | v < 5.0.4 | 5.0.4 |
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.