Skip to main content

PgBouncer CVE-2026-19888

| EUVDEUVD-2026-85365 HIGH
NULL Pointer Dereference (CWE-476)
2026-09-23 PostgreSQL GHSA-w79m-39mq-x36c
7.5
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Reach PgBouncer listener port
  2. Delivery
    Begin SCRAM authentication handshake
  3. Exploit
    Send malformed client-final-message
  4. Execution
    Parser leaves required value unset
  5. Persist
    NULL pointer dereference crashes process
  6. Impact
    All pooled connections terminated

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
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

Exploitation requires that PgBouncer (through 1.25.2) be configured to use SCRAM authentication (e.g. auth_type=scram-sha-256) so the SCRAM client-final-message parser is reachable, and that the attacker have network access to the PgBouncer listener port. No valid credentials, user interaction, or non-default tuning beyond SCRAM auth are needed - the crash occurs before credential verification. The main limiting factor is that deployments not exposing PgBouncer's port to untrusted networks, or not using the SCRAM handshake path, reduce realistic exposure; impact is availability-only (process crash dropping all pooled connections).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5 HIGH) is internally consistent with the description: an unauthenticated remote attacker sends one malformed SCRAM client-final-message over the network to crash the process, with pure availability impact and no confidentiality or integrity loss. The severity is entirely driven by A:H, and it is a genuine availability concern because PgBouncer serves all pooled clients from a single process, so one crafted message drops every database connection behind the pooler - a single-packet, pre-authentication DoS with no valid account, no user interaction, and low complexity. That said, this is a crash/DoS only, not RCE or data exposure, so it is a priority for availability-sensitive deployments rather than a breach risk. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active exploitation - meaning: no public exploit identified at time of analysis. The only reference is the vendor changelog, so exploitation status is inferred from CVSS/description rather than confirmed by any exploitation-intelligence source. Bottom line: a credible, easy-to-trigger unauthenticated DoS against a critical infrastructure component, but confined to availability and not currently known to be exploited.

Exploit ScenarioDerived

An attacker with network reachability to the PgBouncer listener initiates a SCRAM authentication handshake and sends a client-final-message that omits a mandatory attribute; the parser wrongly reports success, leaves a required value unset, and dereferences it as a NULL pointer, crashing PgBouncer before any credential check. Because all clients share one process, this instantly terminates every pooled connection and denies database access to all downstream applications. No public exploit code was identified at time of analysis, but the trigger is trivial and requires no authentication.

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 – Sep 23, 2026

Unauthenticated remote attackers can crash PgBouncer through 1.25.2 by sending a malformed SCRAM client-final-message that triggers a NULL pointer dereference. The crash occurs before credential verification and terminates all pooled connections because PgBouncer uses a single process. No public exploit identified at time of analysis; exploitation requires PgBouncer configured with SCRAM authentication (auth_type=scram-sha-256) and network access to the listener port.

RemediationAI

Upgrade to a patched version of PgBouncer per the vendor changelog at https://www.pgbouncer.org/changelog.html; the exact fixed version is not specified in the provided data, but patch is available per vendor advisory. If immediate upgrade is not possible, disable SCRAM authentication (auth_type=scram-sha-256) and switch to an alternative authentication method such as md5 or trust, though this may weaken security. Additionally, restrict network access to the PgBouncer listener port to trusted IP addresses only; this reduces exposure but may inconvenience legitimate remote clients.

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

PgBouncer is a connection pooler for PostgreSQL that supports SCRAM (Salted Challenge Response Authentication Mechanism) for client authentication. The vulnerability lies in the SCRAM client-final-message parser, which fails to validate a mandatory attribute. According to CWE-476, this missing validation leads to a NULL pointer dereference: the parser incorrectly reports success while leaving a required value unset, and that unset value is later dereferenced. The flaw affects PgBouncer versions through 1.25.2, as indicated by the CPE cpe:2.3:a:n/a:pgbouncer:*:*:*:*:*:*:*:* and the vendor changelog at https://www.pgbouncer.org/changelog.html. The crash happens before any credential is checked, so no valid account is needed.

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

Single malformed network message crashes the pooler before authentication (AV:N/AC:L/PR:N/UI:N), impact is availability-only within the same process (S:U/A:H, C:N/I:N).

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

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

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

DescriptionCVE.org

Missing validation of a mandatory attribute in the SCRAM client-final-message parser in PgBouncer through 1.25.2 allows an unauthenticated remote attacker to crash the process. A malformed message can make the parser report success while leaving a required value unset, which is then dereferenced as a NULL pointer. The crash occurs before any credential is verified, so no valid account is required. Because PgBouncer serves all clients from a single process, this terminates every pooled connection.

Executive ViewAI

Why It Matters

PgBouncer, the connection pooler that fronts many PostgreSQL deployments, can be crashed by a single malformed authentication packet, and because it runs as a single process, every pooled database connection drops at once - a repeatable, low-effort outage rather than a data-compromise event. Any service that depends on PgBouncer through version 1.25.2 with SCRAM authentication reachable from untrusted networks is exposed, meaning the blast radius is typically every application in the database tier, not just one system. Leadership should treat this as an availability risk to critical business services and act on network exposure now, since no vendor-released patch was identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict listener-port access via firewall/ACL/security-group rules to trusted application subnets only; disable auth_type=scram-sha-256 in favor of md5 or certificate-based authentication where operationally feasible; isolate or segment PgBouncer behind private networking; enforce automatic process restart with alerting on PgBouncer crashes and connection-count drops; rate-limit new connections at the network edge; and maintain a redundant pooler or direct-to-database fallback path for critical applications.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
High
de-facto standard connection pooler for PostgreSQL, widely deployed in production
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 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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

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