CVE intelligence and bounded remediation
CVE-2026-7820 — Improper restriction of excessive authentication attempts (CWE-307) in pgAdmin 4
Improper restriction of excessive authentication attempts (CWE-307) in pgAdmin 4. pgAdmin enforces MAX_LOGIN_ATTEMPTS only inside its custom /authenticate/login view. Flask-Security's default /login view, which is registered automatically by security.init_app() and is reachable on every server, never consulted the User.locked field: pgAdmin's User model relied on Flask-Security's UserMixin.is_locked() (which always returns 'not locked') and Flask-Login's is_active (which only checks the active column, not locked). An attacker who triggered an account lockout via /authenticate/login could therefore obtain a session by re-submitting valid credentials directly to /login, defeating the brute-force-protection control for accounts using the INTERNAL authentication source. The same bypass also means that login attempts via /login are never rate-limited, so an attacker can perform an unbounded online password-guessing attack against INTERNAL accounts regardless of MAX_LOGIN_ATTEMPTS. Fix overrides User.is_active and User.is_locked() so the locked column is enforced on every authentication path. LDAP, OAuth2, Kerberos, and Webserver users are not reachable by this bypass because they have…
- Severity
- Medium
- CVSS
- 6.9 (4.0)
- Published
- 2026-05-11
- CISA KEV
- Not currently listed
- Ecosystem
- software/application
- Weaknesses
- CWE-307
Affected products
- pgadmin / pgadmin_4
Matched remediation archetype
Authentication bypass and missing authentication
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Map every affected endpoint and protocol path, including alternate ports, legacy routes, recovery flows, service accounts, and machine-to-machine access.
- Confirm which deployments enable the affected authentication mode and whether the interface is reachable from untrusted networks.
- Review session, token, credential, and proxy trust configuration without attempting account takeover.
Remediate safely
- Apply the supported fix and centralize fail-closed authentication before protected request handling.
- Remove default or embedded credentials, rotate affected secrets and sessions, and bind authentication decisions to the intended audience and channel.
- Add negative tests for alternate routes, malformed or absent credentials, recovery flows, and proxy-derived identity.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.