Out-of-bounds access in psqlODBC via unchecked column and row numbers
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-129 and the CVSS impact.
Summary
Several psqlODBC entry points use an application-supplied column number or row index as an array index without validating it (CWE-129). An attacker with low privileges and network access can cause out-of-bounds reads and writes in an application that forwards untrusted column or row numbers. Versions before 18.00.0006 are affected.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Several psqlODBC entry points use an application-supplied column number or row index as an array index without validating it. SQLBindCol with a column number above 32767 wraps the binding count negative and a later copy runs off the array. A negative SQL_DESC_COUNT on an application row descriptor unbinds columns at negative indexes. SQLColAttribute with a very large column number uses a negative index. SQLSetPos(SQL_ADD) does not check the row number against the rowset size. An application that forwards untrusted column or row numbers exposes its process to out-of-bounds reads and writes. Versions before psqlODBC 18.00.0006 are affected.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| PostgreSQL | psqlODBC | before 18.00.0006 | 18.00.0006 | Patch available | CNA |
- psqlODBC VendorPostgreSQL Affected before 18.00.0006 Fixed in 18.00.0006 Patch available CNA
Remediation
Upgrade psqlODBC to version 18.00.0006, which is the fixed version listed for this flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA psqlODBC (PostgreSQL) Fixed in 18.00.0006
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
PostgreSQL psqlODBC 18.00.0006
11 records Highest priority Priority LOW 11 LOW
Other records, highest priority first
- TI-2026-83947 SQL injection in psqlODBC SQLSpecialColumns table and schema namesPriority LOW 35
- TI-2026-83946 Stack buffer overflow in psqlODBC ODBC escape parserPriority LOW 35
- TI-2026-83943 Heap buffer overflow in psqlODBC row cache on later FETCHPriority LOW 34
Vendor assessments
Timeline
- 2026-11-02 Threatist record created from CVE-2026-120064
- 2026-11-02 CISA SSVC decision points changed
- 2026-11-02 Priority changed: MEDIUM → LOW
- 2026-11-02 Alias added: GHSA-vxfm-r3mv-m2fh
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
More PostgreSQL vulnerabilities
- TI-2024-01491 pgjdbc SQL Injection via line comment generation CVSS 3.1CRITICAL 10.0
- TI-2019-06651 In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and… CVSS 3.0HIGH 7.2
- TI-2017-05187 Improper authentication in postgresql CVSS 3.0CRITICAL 9.8
- TI-2022-06097 Unchecked Class Instantiation when providing Plugin Classes CVSS 3.1CRITICAL 9.8
- TI-2022-13237 SQL Injection in ResultSet.refreshRow() with malicious column names in pgjdbc CVSS 3.1HIGH 8.0
- TI-2020-15711 SQL injection in postgresql CVSS 3.1HIGH 8.8
Sources
- CVE-2026-120064 · CVE Program
- CVE-2026-120064 · NVD
- FIRST EPSS
- GHSA-vxfm-r3mv-m2fh · GitHub Advisory Database · CC BY 4.0
- CVE-2026-120064 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences