Skip to main content

PgBouncer EUVDEUVD-2026-101500

| CVE-2026-107350 HIGH
Improper Authentication (CWE-287)
2026-10-14 PostgreSQL GHSA-qcxp-3cx5-3f3g
8.8
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with known auth_file password
  2. Delivery
    Send second StartupMessage to non-existent database
  3. Exploit
    Switch target identity mid-SCRAM handshake
  4. Execution
    Verify SCRAM proof against original user's keys
  5. Impact
    Obtain session as admin or backend superuser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

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

Exploitation Conditions

Requires that PgBouncer (version 1.17.0-1.26.0) is configured to use SCRAM authentication with an auth_file, and that the attacker already knows the valid password of at least one user listed in that auth_file (PR:L). The core trigger is PgBouncer's failure to reject a second StartupMessage sent during the SCRAM exchange against a non-existent database, which switches the authenticating identity while still verifying against the first user's keys. Limiting factors: the target victim users must authenticate via SCRAM; the attacker must hold one legitimate auth_file credential; and benefit is greatest where high-value targets (PgBouncer admin users or backend superusers) are reachable through the same pooler. It does not grant access to users not authenticating via SCRAM.

Impact

This is a genuine high-priority issue for any environment running PgBouncer as a PostgreSQL connection pooler. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low privileges - specifically, knowledge of the password of ANY single user listed in auth_file - to pivot into logging in as any SCRAM-authenticated user, including PgBouncer admin users and backend superusers. The full C:H/I:H/A:H impact (yielding effective superuser on the backend database) makes the 8.8 base score credible rather than inflated. Tempering the raw score: exploitation is not fully unauthenticated - the attacker must already possess valid credentials for one auth_file user (PR:L), so this is primarily a privilege-escalation / lateral-movement primitive for an insider or an attacker who has already harvested one credential, not a pure remote-unauthenticated takeover. No EPSS score, no CISA KEV listing, and no public POC were provided in the input, so there is no current evidence of active or widespread exploitation; the risk is driven by the severity of the outcome and the low bar for an already-credentialed attacker rather than by observed in-the-wild activity. No signals are directly conflicting, but the absence of exploitation telemetry (EPSS/KEV) means prioritization should rest on whether PgBouncer is internet-exposed or multi-tenant in your environment.

Exploit ScenarioDerived

An attacker (or malicious tenant) who holds the password of a single low-privilege user listed in PgBouncer's auth_file connects over the network and begins a SCRAM authentication handshake. Mid-exchange they send a second StartupMessage naming a non-existent database, which silently switches the identity being logged in as to a higher-privileged target (e.g., a PgBouncer admin or backend superuser) while PgBouncer still validates the SCRAM proof against the original, known user's keys. The handshake completes and the attacker obtains a session as the privileged target. No public exploit code was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Authentication bypass in PgBouncer 1.17.0 through 1.26.0 allows an authenticated attacker who knows a valid password for at least one user in auth_file to impersonate another user that authenticates via SCRAM, including PgBouncer admin users and backend superusers, by sending a second StartupMessage during the SCRAM exchange against a non-existent database. The issue is rated CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) and stems from improper authentication (CWE-287). No public exploit identified at time of analysis, and the flaw does not grant access to users not authenticating via SCRAM.

RemediationAI

Patch status: Patch available per vendor advisory; the exact fixed version is not specified in the supplied data, so consult https://www.pgbouncer.org/changelog.html and upgrade to the first release after 1.26.0. If immediate upgrade is not possible, reduce exposure by restricting network access to the PgBouncer port to trusted application hosts, avoiding shared credentials in auth_file, and separating PgBouncer admin users or backend superuser access from general application pools. A temporary compensating control is to avoid SCRAM for auth_file users where feasible, but this trades away SCRAM's password-protection properties and should be time-bound. Rotate any auth_file passwords that may have been exposed, and monitor for anomalous SCRAM authentication attempts or second StartupMessage behavior; these measures do not fully eliminate the bypass because the core flaw is fixed only by upgrading.

Affected VersionsENISA

PgBouncer 1.17.0 <1.26.1

Affected Packages

euvd pgbouncer fix: 1.26.1

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

PgBouncer is a lightweight connection pooler for PostgreSQL that accepts client connections and authenticates them using an auth_file or other configured methods, including SCRAM-SHA-256 exchanges. The vulnerability arises because PgBouncer fails to reject a second StartupMessage during an in-progress SCRAM authentication when the requested database does not exist; the protocol state then switches the effective username while still validating the SCRAM proof against the first user's stored keys. This is an authentication logic flaw (CWE-287), not a memory-safety issue. Affected versions are 1.17.0 through 1.26.0; the CPE entry cpe:2.3:a:n/a:pgbouncer:*:*:*:*:*:*:*:* indicates broad PgBouncer coverage in the feed. The CVSS vector PR:L reflects that a valid credential for some auth_file user is required before impersonation.

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 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable with a single known auth_file credential (PR:L) and no user interaction; low complexity to resend a StartupMessage, yielding superuser-level C/I/A on the backend.

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

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

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

Lifecycle Timeline

2
Patch available
Oct 14, 2026 - 19:35 EUVD
CVE Published
Oct 14, 2026 - 19:11 cve.org
HIGH 8.8

DescriptionCVE.org

Improper authentication in PgBouncer 1.17.0 through 1.26.0 allows a remote attacker who knows the password of a user listed in auth_file to log in as any other user that authenticates using SCRAM, including PgBouncer admin users and backend superusers. A second StartupMessage sent during SCRAM authentication against a non-existent database is not rejected and switches the user being logged in as, while the SCRAM exchange is still verified against the keys of the first user.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
widely-used PostgreSQL connection pooler, common but infrastructure-specific
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-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

CVE-2026-6666 HIGH
7.5 May 09

Denial of service in PgBouncer before 1.25.2 lets a malicious or malfunctioning PostgreSQL backend crash the connection

Vendor StatusVendor

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