CVE-2026-7820pgAdmin 4在9.15版本之前存在认证绕过漏洞。该漏洞源于Flask-Security的默认/login视图未正确实施User.locked字段检查,导致账户锁定机制失效。攻击者可以通过/login端点绕过MAX_LOGIN_ATTEMPTS限制,对使用INTERNAL认证源的账户进行无限制的暴力破解攻击,甚至在账户被锁定后仍可成功登录。该漏洞仅影响本地密码认证,不影响LDAP等外部认证。
该漏洞的核心在于pgAdmin对Flask-Security框架的配置不当。pgAdmin仅在自定义的/authenticate/login视图中检查MAX_LOGIN_ATTEMPTS并设置User.locked字段。然而,Flask-Security默认注册的/login视图仍然可用,且该视图依赖的UserMixin.is_locked()总是返回False,Flask-Login的is_active()也仅检查active字段而忽略locked字段。因此,即使攻击者触发了账户锁定,只需向/login端点提交正确的用户名和密码,即可绕过锁定检查获取会话。此外,由于/login端点未实施速率限制,攻击者可以利用该漏洞对INTERNAL认证源执行无限制的在线密码猜测攻击,严重威胁账户安全。