Skip to main content

PgBouncer EUVDEUVD-2026-85364

| CVE-2026-6669 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-09-23 PostgreSQL GHSA-58j7-v2vx-r29w
5.9
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise or operate a pooled PostgreSQL backend
  2. Delivery
    PgBouncer initiates SCRAM auth to backend
  3. Exploit
    Backend returns oversized key-derivation iteration count
  4. Execution
    PgBouncer runs uninterruptible derivation in single process
  5. Impact
    CPU exhausted, pooler stalls for all tenants

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires PgBouncer configured to authenticate to backends via SCRAM, and the attacker must control or compromise a PostgreSQL backend server that the PgBouncer instance pools - the malicious iteration count is supplied by the backend during PgBouncer's own outbound SCRAM authentication, not by a frontend client. Exploitation is limited by this precondition (AC:H): an ordinary external client cannot trigger it, and it applies to frontend builds where the derivation cannot be interrupted. Impact is amplified because PgBouncer's single-process architecture means one affected backend denies service to all pooled databases and clients. No fix beyond upgrading past 1.25.2 mitigates the missing iteration-count upper bound.

Impact

This is a genuine but bounded availability risk, not a high-priority mass-exploitation issue. The CVSS 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) correctly captures a pure denial-of-service with no confidentiality or integrity impact. The critical nuance the raw vector understates is the threat model: the 'attacker' is a malicious or compromised PostgreSQL BACKEND that PgBouncer authenticates to via SCRAM - not an ordinary external client. PR:N is technically defensible (no authentication to PgBouncer's frontend is bypassed) but AC:H reflects the real precondition that an adversary must already control a backend database server in the pool. No EPSS score, KEV listing, or public POC was provided, and the sole reference is the vendor changelog - so there is no evidence of active exploitation: no public exploit identified at time of analysis. The severity multiplier is architectural: because PgBouncer serves all pooled databases and clients from a single process and the key-derivation loop cannot be interrupted in frontend builds, one poisoned backend can stall the entire pooler, so the blast radius extends to every unrelated tenant. Verify the exact fixed version against the vendor changelog, which was not directly retrievable during analysis.

Exploit ScenarioDerived

An attacker who compromises (or maliciously operates) a PostgreSQL backend that a shared PgBouncer instance pools returns an extremely large SCRAM key-derivation iteration count during PgBouncer's authentication to that backend. PgBouncer performs the uninterruptible derivation in its single process, pinning CPU and blocking connection servicing for every other database and client in the pool. No public exploit code is identified; exploitation requires the high-complexity precondition of controlling a backend server.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 23, 2026

Unbounded CPU consumption in PgBouncer through 1.25.2 allows a malicious or compromised PostgreSQL backend to monopolize the pooler's single process by returning an arbitrarily large SCRAM key-derivation iteration count during PgBouncer's own outbound authentication, denying service to every database and client it pools. The prerequisite is a hostile or compromised backend combined with SCRAM-based backend authentication (CVSS 3.1: AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H? - assessed as A:H, C:N/I:N, 5.9), so an ordinary external client cannot trigger it, and the derivation cannot be interrupted in frontend builds such as PgBouncer. No public exploit code has been identified and there is no confirmed active exploitation; remediation is to upgrade past 1.25.2 per the vendor changelog.

RemediationAI

Upgrade PgBouncer to a release later than 1.25.2 (the affected range is 'through 1.25.2'; consult https://www.pgbouncer.org/changelog.html for the exact patched version for your distribution), since the missing upper bound on the SCRAM iteration count cannot be configured away. Until the upgrade is applied, the effective compensating controls are structural rather than configuration-based: ensure PgBouncer only ever connects to PostgreSQL backends you fully control and trust, and treat any compromise or untrusted control of a pooled backend as sufficient to take the pooler down for all of its clients, since an external frontend client cannot reach this code path. If your deployment can tolerate it, switching backend authentication away from SCRAM to md5 or a locally trusted mechanism (socket/peer authentication where the backend is co-located) removes the vulnerable derivation path, at the cost of weaker backend credential protection and possible conflicts with modern PostgreSQL authentication defaults. Do not rely on request timeouts alone: the assessment notes the derivation cannot be interrupted in frontend builds, so a stalled derivation is not preempted. Prioritize patching poolers that pool backends across trust boundaries or that are shared by multiple tenants.

Affected VersionsENISA

PgBouncer 0 ≤1.25.2

Affected Packages

euvd pgbouncer no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SCRAM (Salted Challenge Response Authentication Mechanism, RFC 5802) has the server send an iteration count in its first message, and the client must perform that many rounds of salted-password derivation (PBKDF2/HMAC-based, as in SCRAM-SHA-256) before responding. PgBouncer acts as a client when it authenticates to PostgreSQL backends using SCRAM, but it never enforced an upper bound on the iteration count supplied by the server. CWE-400 (Uncontrolled Resource Consumption) captures the root cause: a remote, attacker-influenced input controls the amount of computation performed, and because the derivation loop cannot be interrupted in frontend builds such as PgBouncer, the process simply burns CPU until the work completes. The affected CPE is a wildcard for PgBouncer (cpe:2.3:a:n/a:pgbouncer:*:*:*:*:*:*:*:*), consistent with all versioned builds at or below 1.25.2 being in scope. Impact is amplified by PgBouncer's single-process, event-driven architecture: a single stalled derivation blocks the pooler from serving every client and database it multiplexes, so the failure of one backend is not contained to that backend.

Know when Pgbouncer gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (PostgreSQL) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

AC:H because a backend must be attacker-controlled; PR:N since no PgBouncer-side auth is bypassed; C:N/I:N with A:H as impact is pure availability loss.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

DescriptionCVE.org

Missing upper bound on the key derivation iteration count accepted during SCRAM authentication to a backend server in PgBouncer through 1.25.2 allows a malicious or compromised PostgreSQL backend to cause uncontrolled CPU consumption in PgBouncer. The resulting key derivation cannot be interrupted in frontend builds such as PgBouncer. Because PgBouncer serves all clients from a single process, one backend can in this way stop it from serving traffic for every other database and client it is pooling, so the failure of a single backend is not contained.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
de facto standard connection pooler for PostgreSQL production deployments
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2015-4054 HIGH POC
7.5 May 23

PgBouncer before 1.5.5 allows remote attackers to cause a denial of service (NULL pointer dereference and crash) by send

CVE-2026-6665 CRITICAL
9.8 May 09

Stack-based buffer overflow in PgBouncer before 1.25.2 lets a malicious or impersonated PostgreSQL backend corrupt the p

CVE-2021-3672 MEDIUM POC
5.6 Nov 23

A flaw was found in c-ares library, where a missing input validation check of host names returned by DNS (Domain Name Se

CVE-2026-107350 HIGH
8.8 Oct 14

Authentication bypass in PgBouncer 1.17.0 through 1.26.0 allows an authenticated attacker who knows a valid password for

CVE-2015-6817 HIGH
8.1 May 23

PgBouncer 1.6.x before 1.6.1, when configured with auth_user, allows remote attackers to gain login access as auth_user

CVE-2025-2291 HIGH
8.1 Apr 16

Password can be used past expiry in PgBouncer due to auth_query not taking into account Postgres its VALID UNTIL value,

CVE-2021-3935 HIGH
8.1 Nov 22

When PgBouncer is configured to use "cert" authentication, a man-in-the-middle attacker can inject arbitrary SQL queries

CVE-2026-107349 HIGH
7.5 Oct 14

Unauthenticated remote attackers can render PgBouncer 1.20.0 through 1.26.0 unresponsive by sending a single crafted Sta

CVE-2026-6668 HIGH
7.5 Sep 23

A crafted oversized input to the PgBouncer connection pooler (versions through 1.25.2) triggers an integer overflow in p

CVE-2026-19888 HIGH
7.5 Sep 23

Unauthenticated remote attackers can crash PgBouncer through 1.25.2 by sending a malformed SCRAM client-final-message th

CVE-2025-12819 HIGH
7.5 Dec 03

Untrusted search path in auth_query connection handler in PgBouncer before 1.25.1 allows an unauthenticated attacker to

CVE-2026-6664 HIGH
7.5 May 09

Remote denial-of-service in PgBouncer versions before 1.25.2 allows unauthenticated attackers to crash the connection po

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy