psqlODBC stack buffer overflow copying ctid and oid values for updatable cursors
Summary
| CVE | CVE-2026-120067 |
|---|---|
| State | PUBLISHED |
| Assigner | PostgreSQL |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-02 19:18:04 UTC |
| Updated | 2026-11-02 20:17:40 UTC |
| Description | For updatable cursors, which are enabled by default, psqlODBC adds hidden ctid and, for tables with OIDs, oid columns to the query. It copies each value into a 32-byte stack buffer using the length the server sent, without checking it against the buffer size, so a value of 32 bytes or more writes past the buffer. A server not trusted under current SSL settings can send such a value. So can any database user who can create a view with its own column named ctid that the application reads with an updatable cursor. Builds with _FORTIFY_SOURCE abort; other builds overwrite adjacent stack memory. Versions before psqlODBC 18.00.0006 are affected. |
Risk And Classification
Primary CVSS: v3.1 5.9 MEDIUM from f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Problem Types: CWE-121 | CWE-787 | CWE-121 CWE-121 Stack-based Buffer Overflow | CWE-787 CWE-787 Out-of-bounds Write
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 | Secondary | 5.9 | MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | CNA | CVSS | 5.9 | MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
HighPrivileges Required
NoneUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | PostgreSQL | PsqlODBC | affected 18.00.0006 custom | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-3r96-... | f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Deus Rex (en)
Additional Advisory Data
Solutions
CNA: Upgrade to psqlODBC 18.00.0006 or later. The driver rejects a keyset value that does not fit its buffer, and the query fails with SQLSTATE HY000.
Workarounds
CNA: Set UpdatableCursors=0 in the connection string or DSN, so the driver does not add the keyset columns.
There are currently no legacy QID mappings associated with this CVE.