Junglewise Threat Intelligence

CVE-2026-7820: PostgreSQL pgAdmin 4 account lockout bypass in login views

CVE-2026-7820 · Severity: medium · CVSS 6.5 · Published 2026-05-11

Executive brief

pgAdmin 4, a popular management tool for PostgreSQL databases, contains a security flaw that allows attackers to bypass account lockout protections. While the software is designed to lock accounts after too many failed login attempts, a secondary login page remained accessible that did not enforce these limits. This allows an attacker to perform unlimited password-guessing attacks against internal user accounts, potentially leading to unauthorized access to the database management interface.

Technical details

A vulnerability exists in pgAdmin 4 where brute-force protection (MAX_LOGIN_ATTEMPTS) was only enforced in the custom /authenticate/login view. The default /login view provided by Flask-Security remained reachable and failed to consult the User.locked field because the User model relied on default Mixin methods that did not account for pgAdmin's specific locking logic. An attacker can bypass an existing lockout or perform unbounded online password-guessing attacks against accounts using the INTERNAL authentication source by targeting the /login endpoint. This issue is resolved in version 9.15 by overriding the User.is_active and User.is_locked() methods to ensure the locked status is checked across all authentication paths.

Affected products

  • PostgreSQL pgAdmin 4 < 9.15

Timeline

  • 2026-05-04: other: Issue reported to vendor
  • 2026-05-11: advisory: Initial disclosure and CVE assignment
  • 2026-05-11: patched: Fixed in version 9.15

References

Related threats