CVE-2026-128084
### Summary sqlite3-ruby cast Ruby string lengths (`long`) to `int` before passing them to SQLite. On 64-bit platforms, a string of 4 GiB (2^32 bytes) or larger had its length wrap, so SQLite saw only the first `length mod 2^32` bytes. An attacker who controls the length of a SQL string could truncate the query, for example dropping a trailing `WHERE` clause. The affected paths are: - the SQL passed to `Database#prepare`, `#execute`, and related methods - String and Blob values passed to `Statement#bind_param` and related methods - String and Blob values returned from SQL functions and aggregates defined in Ruby (`Database#create_function`, `#create_aggregate`, and related methods) sqlite3 v2.10.2 raises `RangeError` when any of these strings is longer than `INT_MAX` bytes. ### Severity The sqlite3-ruby maintainers have evaluated this as medium severity (CVSS 4.8). Exploitation requires an attacker to get at least 4 GiB into a single SQL string or bound value. Most deployments reject a request body that large before the application sees it, and the server must hold several copies of the string in memory. A truncated bound value is only a prefix of the attacker's input, so the bind paths matter only where the application validated the full value. A truncated SQL string is more serious: when the attacker's input is inlined into the SQL, the clauses that follow it are dropped. If a dropped clause contained a bind placeholder, binding raises `SQLite3::RangeException` instead of running the query. ### Mitigation Upgrade to sqlite3 v2.10.2 or later. As a workaround for earlier versions, reject SQL strings and bound values of 4 GiB or larger before passing them to sqlite3-ruby, or limit request body size well below 4 GiB. ### Credit This issue was responsibly reported by Luke Jahnke from elttam.
Properties
- Summary
- sqlite3-ruby: Possible SQL query truncation when a string is 4 GiB or larger
- Severity
- medium
- Nvd fetched at
- 2026-11-14T00:40:25.638091+00:00
- Cvss score
- 4.8
- Cvss severity
- MEDIUM
- Retrieved at
- 2026-11-14T00:50:08+00:00
- Ghsa published
- 2026-11-13T18:57:58Z
- Source url
- https://github.com/advisories/GHSA-4fqr-96q8-xrfx
- Ghsa updated
- 2026-11-13T18:58:00Z
- Ghsa id
- GHSA-4fqr-96q8-xrfx
- Last source
- GitHub Advisory Database
- Score
- 4.8
- Cvss version
- 3.1
- Cve id
- CVE-2026-128084
- Cvss vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
- First seen by Signal
- 2026-11-13T20:38:23+00:00
- Is ghsa only
- false
- Vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
- Published at
- 2026-11-13T19:19:31.050
- Last modified
- 2026-11-13T19:19:31.050
Related Entities (3)
AFFECTS (1)
HAS_WEAKNESS (1)
VULNERABLE_TO (1)
Related research
Explore deeper with Ninja Signal's threat intelligence graph