Critical severity · published Apr 16, 2025
CVE-2025-2291
PgBouncer default auth_query does not take Postgres password expiry into account
9.8
CVSS
0.4%
EPSS
No
On KEV
Description
Password can be used past expiry in PgBouncer due to auth_query not taking into account Postgres its VALID UNTIL value, which allows an attacker to log in with an already expired password
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 31% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PG
PgBouncer ·
before 1.24.1 · source: vendor, NVD
DL
Debian Linux · Debian
11.0 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2025-2291
CVE.org
https://www.cve.org/CVERecord?id=CVE-2025-2291
Release Notes
https://www.pgbouncer.org/changelog.html#pgbouncer-124x
Mailing List
https://lists.debian.org/debian-lts-announce/2025/05/msg00032.html
More from PgBouncer
9.8
CVE-2026-6665
PgBouncer buffer overflow in SCRAM
8.8
CVE-2026-107350
Authentication bypass via second StartupMessage during SCRAM authentication in PgBouncer
8.1
CVE-2025-12819
Untrusted search path in auth_query connection in PgBouncer
7.5
CVE-2026-107349
Infinite loop on empty option name in startup options parameter in PgBouncer
7.5
CVE-2026-19888
NULL pointer dereference in SCRAM client-final-message parsing in PgBouncer
