Skip to content
Sign in
CVE-2026-1162389.2Critical

pgAdmin 4: The failed login limit can be bypassed, and Flask-Security's own views skip pgAdmin's login and password checks

pgadmin.org · pgAdmin 4

Not in CISA KEVVendor fix available
0.4%probability of exploitation in the next 30 days
34th percentile
050100

Higher than 34% of scored CVEs

9.2CriticalCVSS
LowCrit.

DescriptionNVD

In server mode pgAdmin 4 locks an internal account after MAX_LOGIN_ATTEMPTS failed logins (3 by default). The limit could be bypassed, giving an unauthenticated attacker an unlimited number of password guesses against any internal account, including the administrator's, in the default configuration: Flask-Security registers its own views next to pgAdmin's. A login submitted to its /login view was checked and logged in without pgAdmin's failed login count or lock. Its /verify view checked a signed-in user's password without limit, its /change view changed a password without pgAdmin's change password permission or re-encrypting the user's saved server passwords, and its /reset views sent and applied password resets for accounts that are not internal or are locked. The internal account was looked up by its exact username, while the login form matches the email ignoring case, so a login with the username typed in another case was neither counted nor checked for the lock. With LDAP or webserver authentication also configured, a wrong internal password was never counted, and with Kerberos or webserver authentication configured a guess could be answered without being counted. In a

Coverage1 article · 1 outlet

First in our coverage: SecurityOnline, 2 Nov.

  1. pgAdmin 4 update fixes 15 flaws, including command execution
    SecurityOnline · first in our coverage · mentions it in passing

New articles also arrive in the RSS feed.

References

Updated AboutDevelopersSign in