CVE-2026-7820
Açıklama
pgAdmin 4 üzerinde aşırı kimlik doğrulama denemelerinin uygun şekilde kısıtlanmaması (CWE-307). pgAdmin, MAX_LOGIN_ATTEMPTS ayarını yalnızca kendi özel /authenticate/login görünümü içinde uygular. security.init_app() tarafından otomatik olarak kaydedilen ve her sunucuda erişilebilir olan Flask-Security'nin varsayılan /login görünümü, User.locked alanını hiçbir zaman kontrol etmemiştir: pgAdmin'in User modeli, Flask-Security'nin UserMixin.is_locked() (her zaman 'kilitli değil' döndürür) ve Flask-Login'in is_active (yalnızca active sütununu kontrol eder, locked sütununu değil) fonksiyonlarına dayanıyordu. Bu nedenle, /authenticate/login üzerinden bir hesap kilitlemesini tetikleyen bir saldırgan, geçerli kimlik bilgilerini doğrudan /login adresine yeniden göndererek bir oturum elde edebilir ve INTERNAL kimlik doğrulama kaynağını kullanan hesaplar için kaba kuvvet koruma kontrolünü etkisiz hale getirebilir. Aynı atlatma yöntemi, /login üzerinden yapılan giriş denemelerinin hiçbir zaman hız sınırlandırmasına tabi tutulmadığı anlamına gelir; böylece bir saldırgan, MAX_LOGIN_ATTEMPTS değerinden bağımsız olarak INTERNAL hesaplara karşı sınırsız çevrimiçi parola tahmin saldırısı gerçekleştirebilir. Düzeltme, locked sütununun her kimlik doğrulama yolunda uygulanmasını sağlamak için User.is_active ve User.is_locked() fonksiyonlarını geçersiz kılar (override). LDAP, OAuth2, Kerberos ve Webserver kullanıcıları yerel parolaya sahip olmadıkları ve locked kontrolünden önce Flask-Security'nin LoginForm.validate işlemi tarafından reddedildikleri için bu atlatma yönteminden etkilenmezler; ayrıca hesap kilitleme işleminin kendisi de yalnızca dahili kullanıcılara yöneliktir (/authenticate/login görünümü auth_source=INTERNAL ile filtreleme yapar). Bu sorun şu sürümleri etkilemektedir: pgAdmin 4: 9.15 öncesi.
Nasıl düzeltilir
- pgadmin pgadmin_49.15 ya da sonraki bir sürüm
- pgadmin49.15 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| pgadmin pgadmin_4 | v < 9.15 | 9.15 |
| pgadmin4PyPI | v < 9.15 | 9.15 |
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.