Skip to main content

psqlODBC EUVDEUVD-2026-115370

| CVE-2026-120057 HIGH
Classic Buffer Overflow (CWE-120)
2026-11-02 PostgreSQL
7.5
CVSS 3.1 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Gain MITM position or malicious server
  2. Delivery
    Client application fetches large-object column (loread)
  3. Exploit
    Server sends oversized read reply
  4. Execution
    psqlODBC copies server length without bounds check
  5. Impact
    Overwrite adjacent client-process memory with server-chosen bytes

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer copy size validation
MITRE ATT&CK

1 technique across 1 tactic: Execution

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 the client either connect to a PostgreSQL server that is not trusted under its current SSL settings (e.g. SSL verification not enforced) or that an attacker achieve a man-in-the-middle position on the connection; in either case the attacker must control the server's reply bytes. The client application must fetch a large-object column, which issues the loread call whose over-long reply triggers the unchecked copy - fetching any large-object column is sufficient. Limiting factors that reduce real-world exposure: a strictly SSL-verified connection to a trusted server is not exploitable, the application must actually use large objects, and user/application interaction (the fetch) is required (UI:R); no authentication of the attacker is needed (PR:N) but a network position or rogue server is.

Impact

This is a moderate-to-serious but conditional client-side memory-corruption flaw, not a mass-exploitation emergency. The input CVSS vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H, base 7.5) is internally consistent with the description: AV:N reflects that a network-positioned attacker (MITM) or a malicious server delivers the oversized reply, AC:H reflects the dependency on the client not trusting the server under its SSL settings or on an attacker achieving a MITM position, UI:R reflects that the client application must actually fetch a large-object column, and C:H/I:H/A:H reflect that the server controls the bytes written past the buffer. No EPSS score and no KEV listing are present in the input, and CISA KEV status is therefore not asserted; the only reference is the PostgreSQL GHSA advisory, which is an advisory rather than verified working exploit code, so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_week', which positions this as a prompt-but-not-emergency patching priority. The practical risk is bounded by the need for an attacker-controlled or attacker-interposed PostgreSQL server and by the client using large objects; against a trusted, properly SSL-verified server the flaw is not reachable. Missing signals to note explicitly: EPSS probability is absent, KEV status is absent, and no PoC is confirmed - so prioritization here rests on CVSS and the vendor decision label rather than observed exploitation.

Exploit ScenarioDerived

An attacker who operates a malicious PostgreSQL server (that the client does not strictly verify under its current SSL settings) or who achieves a man-in-the-middle position on the connection waits for the client application to read a large-object column via loread. The server returns a reply whose declared length exceeds the client's buffer; psqlODBC copies that many server-chosen bytes into the undersized buffer, overwriting adjacent memory in the client process. No public exploit is identified at time of analysis; the only reference is the vendor advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 02, 2026

A heap buffer overflow in psqlODBC's large-object read path lets a malicious or man-in-the-middle PostgreSQL server overwrite adjacent memory in the client process with server-chosen bytes: the driver trusts the byte count in the loread reply and copies that many bytes into the application-supplied buffer without comparing it to the buffer size. All psqlODBC versions before 18.00.0006 are affected, and any application that fetches a large-object column triggers the vulnerable code path. Exploitation is conditional rather than opportunistic - the client must connect to a server it does not trust under its current SSL settings (for example with certificate verification disabled) or an attacker must hold a man-in-the-middle position, and the assessed vector (AC:H, UI:R, PR:N) reflects that a network position or rogue server plus a large-object fetch is required; no public exploit has been identified at time of analysis and the flaw is not in CISA KEV, so priority is patch-this-cycle rather than emergency response.

RemediationAI

Vendor-released patch: upgrade psqlODBC to 18.00.0006 or later, as documented in advisory GHSA-qhmr-5339-q33r (https://github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-qhmr-5339-q33r); because the flaw is client-side, every installed driver build on endpoints and application servers - not just the database server - needs the update, and packaged drivers shipped inside ODBC bundles or vendor applications must be confirmed as rebuilt against the fixed version. Where an immediate upgrade is not possible, the effective compensating control is to eliminate the untrusted-server condition: set the connection's sslmode to verify-full (or otherwise enforce certificate and hostname validation against a trusted CA) so a rogue or spoofed server cannot deliver the oversized loread reply, with the trade-off that deployments using self-signed certificates or unverified TLS will start failing connections until their trust stores are fixed. Applications that do not use large objects can reduce exposure by ensuring no code path fetches large-object columns, but that is a scoping measure rather than a fix and does not protect a driver build that is still vulnerable. Restricting client egress to known PostgreSQL endpoints limits man-in-the-middle opportunity but is not a substitute for the 18.00.0006 upgrade.

Affected VersionsENISA

psqlODBC 0 <18.00.0006

Affected Packages

euvd psqlodbc fix: 18.00.0006

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

psqlODBC is the official ODBC driver for PostgreSQL, implemented over libpq and the PostgreSQL frontend/backend wire protocol. Large objects (LOBs, stored in pg_largeobject and manipulated via lo_open/loread) are read by issuing a loread request whose reply carries a length field followed by the object data; the driver allocates or receives a client buffer and copies the reply payload into it. The flaw is CWE-120, a classic unchecked-length buffer copy: the length announced by the server is used verbatim as the copy size rather than being clamped to the destination buffer's capacity, so a reply longer than the buffer writes attacker-controlled bytes past the end of the allocation into adjacent heap memory in the client process. The trust boundary that is violated is the assumption that a server the client has chosen to talk to will never send a protocol reply larger than requested - an assumption that only holds when the server is genuinely trusted, which is why the assessed exploitation conditions hinge on absent SSL verification or an active man-in-the-middle rather than on any flaw in PostgreSQL server-side code. The trigger is a single ordinary fetch of a large-object column; no unusual query shape or repeated interaction is described in the available sources.

Know when Psqlodbc 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:H/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

AV:N and PR:N since a MITM or rogue server needs no client auth; AC:H because it depends on weak SSL trust or a MITM position; UI:R as the app must fetch a large object; C/I/A:H from server-controlled memory overwrite.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

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

Lifecycle Timeline

2
Patch available
Nov 02, 2026 - 20:18 EUVD
CVE Published
Nov 02, 2026 - 19:09 cve.org
HIGH 7.5

DescriptionCVE.org

psqlODBC copies the reply to a large-object read (loread) into the application's buffer using the length sent by the server, without comparing it to the buffer size. A server not trusted under current SSL settings, or a man-in-the-middle, can return more bytes than the buffer holds and overwrite adjacent memory in the client process with server-chosen bytes. Fetching any large-object column is sufficient to trigger it. Versions before psqlODBC 18.00.0006 are affected.

Executive ViewAI

Why It Matters

A high-severity heap buffer overflow in psqlODBC (all versions before 18.00.0006) can be triggered when a client application retrieves a large-object column from a malicious or man-in-the-middle PostgreSQL server, potentially allowing memory corruption and arbitrary code execution. This affects any internal application using psqlODBC to process large objects, exposing confidentiality, integrity, and availability of client systems. Leadership should care because untrusted server connections or MITM positions are realistic in development and multi-tenant environments, and the absence of a vendor patch requires compensating controls.

Business Impact: High
Compensating Controls

Enable SSL certificate verification for all database connections; restrict connections to trusted PostgreSQL servers; disable or avoid large-object fetches where not essential; deploy network monitoring to detect MITM activity.

Threat Intelligence Overview

Prevalence
Medium
official PostgreSQL ODBC driver, common DB connector but not universally deployed
Social Media
1
Sightings
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 N/A
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
No
Human Impact
High
Technical Impact
Total

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 buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

CVE-2026-120064 HIGH
7.5 Nov 02

Out-of-bounds reads and writes in psqlODBC before 18.00.0006 arise when a host application forwards untrusted column num

CVE-2026-120062 HIGH
7.5 Nov 02

SQL injection in psqlODBC before 18.00.0006 allows an attacker who can influence a table or schema name passed by a host

CVE-2026-120061 HIGH
7.5 Nov 02

A stack-based buffer overflow (CWE-121) in the psqlODBC driver, the official PostgreSQL ODBC driver, lets attacker-influ

CVE-2026-120058 HIGH
7.5 Nov 02

Heap out-of-bounds write in the psqlODBC driver (CWE-787) affects all versions before 18.00.0006 and is reachable only w

CVE-2026-120065 HIGH
7.1 Nov 02

SQL injection in psqlODBC before 18.00.0006 can let an authenticated database user who can create a table that an applic

CVE-2026-120059 MEDIUM
6.8 Nov 02

Format-string handling in psqlODBC before 18.00.0006 can crash applications or disclose client memory when an updatable

CVE-2026-109448 MEDIUM
5.9 Oct 12

Heap memory corruption in psqlODBC versions before 18.00.0005 can be triggered when an application binds 32,769 or more

CVE-2026-120067 MEDIUM
5.9 Nov 02

A stack-based buffer overflow in psqlODBC, the PostgreSQL ODBC driver, affects all releases before 18.00.0006 when updat

CVE-2026-120063 MEDIUM
5.9 Nov 02

Stack buffer over-write in psqlODBC before 18.00.0006 can corrupt an application process that forwards attacker-influenc

CVE-2026-120060 MEDIUM
5.9 Nov 02

Client-side crash and limited out-of-bounds read affect psqlODBC before 18.00.0006 when the driver connects to a Postgre

CVE-2026-120066 MEDIUM
5.3 Nov 02

psqlODBC before 18.00.0006 on Unix-like systems can expose query text and data to other local users when logging is enab

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