Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply oversized untrusted IN-list input
-
DeliveryApplication binds parameter number 32769 via SQLBindParameter
-
ExploitSigned 16-bit binding count wraps to negative
-
ExecutionOut-of-bounds ~2.5 MB heap write corrupts memory
-
ImpactApplication crashes or runs on corrupted heap
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
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 a calling application that uses psqlODBC and binds more than 32768 parameters on a single statement via SQLBindParameter - specifically where the parameter count is derived from untrusted input, such as an attacker-controlled 'IN (?, ?, ...)' list. The attacker must be able to drive the bound-parameter count to 32769 (binding #32768 wraps the signed 16-bit count to -32768; #32769 triggers the out-of-bounds write). Limiting factors: this is not a default-configuration remote flaw against the driver itself - the host application must expose the parameter count to attacker influence, applications that cap or fix their parameter counts are not exposed, and only psqlODBC versions before 18.00.0005 are affected. No authentication to the driver is required (PR:N), but the practical precondition of a vulnerable application pattern is why attack complexity is high. |
| Impact | This is a medium-severity (CVSS 5.9) availability-only flaw, and the signals consistently point to real-but-limited risk rather than a top priority. The CVSS vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) shows network reachability with no authentication, but high attack complexity and impact restricted to availability (C:N/I:N) - consistent with CWE-190 integer overflow causing heap corruption and a crash rather than code execution. The vendor (PostgreSQL) scopes the outcome to crash or corrupted-heap state, not confirmed arbitrary code execution, so treating this as a DoS/stability issue is appropriate. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The AC:H rating is well-founded because exploitation is not universal: it requires a calling application that builds parameter lists from untrusted input (e.g., an IN (?, ?, ...) list) and lets an attacker drive the bound-parameter count past 32768. No conflicting signals were found; the main gap is that heap-corruption bugs can sometimes escalate beyond DoS, but nothing in the provided data supports an integrity/confidentiality impact, so the A:H-only scoring is accepted. |
| Exploit ScenarioDerived | An application uses psqlODBC and constructs a parameterized query such as 'col IN (?, ?, ...)' where the number of placeholders is derived from untrusted, attacker-influenced input. The attacker submits input large enough to make the application bind parameter number 32769, wrapping the signed 16-bit binding count to a negative value; psqlODBC then writes roughly 2.5 MB of zeros starting about 1.25 MB before the binding array, corrupting the heap and crashing the process. No public exploit code was identified at time of analysis, and exploitation hinges on the host application exposing the parameter count to attacker control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Heap memory corruption in psqlODBC versions before 18.00.0005 can be triggered when an application binds 32,769 or more parameters on a single SQL statement via SQLBindParameter. An attacker who controls the parameter count-for example through an untrusted 'IN (?, ?, ...)' list-can wrap the driver's signed 16-bit binding counter, causing a massive out-of-bounds write of zeros that crashes the application or leaves it running with a corrupted heap. No public exploit code has been identified at time of analysis, and exploitation requires a vulnerable application pattern where parameter counts are derived from untrusted input; the flaw is availability-only (CVSS 5.9).
RemediationAI
Upgrade to psqlODBC 18.00.0005 or later, which corrects the integer wraparound and prevents the out-of-bounds write. This is the primary remediation; no workaround is documented in the advisory. If immediate upgrade is not possible, applications should enforce a hard limit on the number of parameters bound per statement (e.g., reject any parameter list exceeding 32,767 entries) and avoid constructing parameter lists directly from untrusted input. Such application-level filtering reduces exposure but requires code changes and may impact functionality for legitimate large queries. The vendor advisory is at https://github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-cmfx-rm3r-p2jr.
Affected VersionsENISA
Affected Packages
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, enabling client applications to connect to PostgreSQL databases. The flaw is an integer wraparound (CWE-190) in the SQLBindParameter function: the driver tracks the number of bound parameters in a signed 16-bit integer. Binding parameter number 32768 causes this counter to wrap to -32768, and binding parameter 32769 then triggers a large out-of-bounds write of approximately 2.5 MB of zeros beginning 1.25 MB before the binding array, corrupting heap memory. This can crash the application or leave it running with a corrupted heap, resulting in a denial of service. The CVSS vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) indicates that the flaw is reachable over a network, requires no privileges, and needs no user interaction, but exploitation is contingent on a calling application that binds more than 32,768 parameters on a single statement with the parameter count derived from untrusted input, such as an attacker-controlled IN (?, ?, ...) list, which is why attack complexity is high. The CPE cpe:2.3:a:postgresql:psqlodbc:*:*:*:*:*:*:*:* indicates that all versions before 18.00.0005 are affected. No public exploit code has been identified.
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
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Requires a host app that binds attacker-controlled parameter counts >32768 (AC:H), no auth to the driver (PR:N), and heap corruption yields a crash so only availability impact (A:H).
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-97731
NVD
CVE.org
EPSS
GitHub
Exploit-DB