PgBouncer
Lightweight connection pooler for PostgreSQL
PgBouncer added LDAP and direct TLS, then spent two releases patching auth-path CVEs
◆Recent moves
- 2mo ago
PgBouncer 1.25.2 patches two pre-auth remote crash CVEs
Two CVE fixes in the pre-authentication path: an integer overflow that bypassed a bounds check in packet parsing, and an unchecked strlcat return in the SCRAM code. Both let an unauthenticated remote attacker crash the pooler with a malformed packet.
View source ↗ - 8mo ago
PgBouncer 1.25.1 - Fixing a bunch of bugs before Christmas (including CVE-2025-12819)
Fixes a vulnerability allowing arbitrary SQL execution during authentication via a malicious search_path in the StartupMessage, though only for the narrow set of deployments tracking search_path as an extra parameter. A reminder that startup-parameter passthrough is attack surface.
View source ↗ - 9mo ago
PgBouncer 1.25.0 - The one with LDAP support
⚡ SPARKThe release that added LDAP authentication, configurable via HBA file or auth_ldap_options, plus client-side direct TLS using the faster PostgreSQL 17 handshake. It is the largest expansion of PgBouncer's auth surface in years — and the two CVE releases that followed all landed in that same path.
View source ↗ - 1y ago
PgBouncer 1.24.1 - Fixes CVE-2025-2291
Fixes a flaw where PgBouncer's auth_query ignored a user's password VALID UNTIL expiry, so expired passwords still worked through the proxy. The default and documented auth_query were both changed.
View source ↗ - 1y ago
PgBouncer 1.24.0
Operator-facing additions: a KILL_CLIENT admin command, and per-user and per-database client connection limits configurable both globally and individually. These are the controls multi-tenant deployments need to stop one tenant exhausting the pool.
View source ↗ - 2y ago
PgBouncer 1.23.1
A cleanup release fixing a segfault after config reload and the put_in_order crashes introduced in 1.23.0. Regression repair on the immediately preceding version.
View source ↗