CVE-2025-2291
PgBouncer default auth_query does not take Postgres password expiry into account
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
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
PgBouncer default auth_query does not take Postgres password expiry into account
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
- Record
CVE-2025-2291- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-324
- Updated
- 2026-11-02
EUVDEUVD-2025-11379
8.1
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
- Record
EUVD-2025-11379- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qj9w-64mv-p2fw
8.1
Password can be used past expiry in PgBouncer due to auth_query not taking into account Postgres...
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
- Record
GHSA-qj9w-64mv-p2fw- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-324
- Updated
- 2026-11-02
NVD
8.1
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
- Record
CVE-2025-2291- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-324
- Updated
- 2026-11-02
OSV
9.8
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
- Record
CVE-2025-2291- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-2291
9.8
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
- Record
DEBIAN-CVE-2025-2291- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2025-2291
8.1
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
- Record
UBUNTU-CVE-2025-2291- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVAZL-60437 No score
CVE-2025-2291 affecting package pgbouncer for versions less than 1.24.1-1
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
- Record
AZL-60437- Updated
- 2026-11-02
OSVAZL-60438 No score
CVE-2025-2291 affecting package pgbouncer for versions less than 1.24.1-1
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
- Record
AZL-60438- Updated
- 2026-11-02
OSVBIT-pgbouncer-2025-2291 No score
PgBouncer default auth_query does not take Postgres password expiry into account
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
- Record
BIT-pgbouncer-2025-2291- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pgbouncerAzure Linux:3 |
before 1.24.1-1 | 1.24.1-1 |
pgbouncerAzure Linux:2 |
before 1.24.1-1 | 1.24.1-1 |
pgbouncerBitnami |
before 1.24.1 | 1.24.1 |
pgbouncerDebian:12 |
before 1.18.0-1+deb12u1, plus listed versions 1.18.0-1 |
1.18.0-1+deb12u1 |
pgbouncerDebian:13 |
before 1.24.1-1 | 1.24.1-1 |
pgbouncerDebian:14 |
before 1.24.1-1 | 1.24.1-1 |
pgbouncerDebian:11 From an advisory covering 2 CVEs |
before 1.15.0-1+deb11u1, plus listed versions 1.15.0-1 |
1.15.0-1+deb11u1 |
pgbouncerUbuntu:16.04:LTS |
All versions, plus listed versions 1.5.5-11.6.1-11.7-1 |
None known |
pgbouncerUbuntu:18.04:LTS |
All versions, plus listed versions 1.7.2-3build11.7.2-65-g2b8e6cf-11.8.1-11.8.1-1build1 |
None known |
pgbouncerUbuntu:20.04:LTS |
All versions, plus listed versions 1.10.0-11.10.0-1build11.11.0-11.12.0-21.12.0-3 |
None known |
pgbouncerUbuntu:22.04:LTS |
All versions, plus listed versions 1.15.0-11.16.1-1ubuntu1 |
None known |
pgbouncerUbuntu:24.04:LTS |
All versions, plus listed versions 1.20.0-11.21.0-11.22.0-11.22.0-1build11.22.0-1build31.22.0-1build4 |
None known |
pgbouncerUbuntu:25.10 |
All versions, plus listed versions 1.24.0-31.24.1-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-2291 is a high vulnerability (CVSS 8.1) in Pgbouncer, published April 16, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 30th percentile. Fixed in pgbouncer 1.24.1-1.