CVE-2026-109448

psqlODBC SQLBindParameter heap memory corruption when binding more than 32767 parameters

Published Oct 12, 2026 CVSS 3.1 · 5.9 Medium EPSS < 1% KEV · Not listed
Description
Integer wraparound in psqlODBC SQLBindParameter allows an application, or an attacker who controls how many parameters the application binds on one statement, to corrupt heap memory. psqlODBC stores the binding count in a signed 16-bit field. Binding parameter number 32768 wraps that count to -32768. Binding parameter 32769 then writes about 2.5 MB of zeros starting 1.25 MB before the binding array, which crashes the application or leaves it running on a corrupted heap. Applications that build parameter lists from untrusted input, such as an IN (?, ?, ...) list, are exposed. Versions before psqlODBC 18.00.0005 are affected.

Remediation

Vendor Solution

Upgrade to psqlODBC 18.00.0005 or later. SQLBindParameter now rejects parameter numbers outside 1..32767 with SQLSTATE 07009 (invalid descriptor index).


Vendor Workaround

Do not bind more than 32767 parameters on a single statement. Limit the number of parameters an application builds from external input, or pass large value lists as a single array parameter, for example = ANY(?).

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Postgresql
Postgresql psqlodbc
Vendors & Products Postgresql
Postgresql psqlodbc
Type Values Removed Values Added
Description Integer wraparound in psqlODBC SQLBindParameter allows an application, or an attacker who controls how many parameters the application binds on one statement, to corrupt heap memory. psqlODBC stores the binding count in a signed 16-bit field. Binding parameter number 32768 wraps that count to -32768. Binding parameter 32769 then writes about 2.5 MB of zeros starting 1.25 MB before the binding array, which crashes the application or leaves it running on a corrupted heap. Applications that build parameter lists from untrusted input, such as an IN (?, ?, ...) list, are exposed. Versions before psqlODBC 18.00.0005 are affected.
Title psqlODBC SQLBindParameter heap memory corruption when binding more than 32767 parameters
Weaknesses CWE-124
CWE-190
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
PostgreSQL
Published
Updated
Oct 16, 2026, 5:48 PM
Reserved
Oct 12, 2026, 4:34 PM
Status
Awaiting Analysis
Published
Oct 12, 2026, 6:17 PM
Modified
Oct 16, 2026, 6:17 PM
Severity
Moderate
Public date
Oct 12, 2026, 5:42 PM