CVE-2025-2291

PgBouncer default auth_query does not take Postgres password expiry into account

Published Apr 16, 2025 CVSS 3.1 · 8.1 High EPSS < 1% KEV · Not listed
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

Remediation

Vendor Workaround

Configure a custom auth_query containing the new default auth_query introduced in PgBouncer 1.24.1, this auth_query takes expiry into account

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4180-1 pgbouncer security update
EUVD EUVD EUVD-2025-11379 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
History
Type Values Removed Values Added
First Time appeared Debian
Debian debian Linux
Pgbouncer
Pgbouncer pgbouncer
CPEs cpe:2.3:a:pgbouncer:pgbouncer:*:*:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
Vendors & Products Debian
Debian debian Linux
Pgbouncer
Pgbouncer pgbouncer
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
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
Title PgBouncer default auth_query does not take Postgres password expiry into account
Weaknesses CWE-324
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
PostgreSQL
Published
Updated
Nov 3, 2025, 7:42 PM
Reserved
Mar 13, 2025, 4:59 PM
Status
Analyzed
Published
Apr 16, 2025, 6:16 PM
Modified
Jun 17, 2026, 9:06 AM