MEDIUMCVSS v3.1 4.8Vulnerability

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)

→[Software]rubygems/sqlite3

HAS_WEAKNESS (1)

VULNERABLE_TO (1)

←[Software]rubygems/sqlite3

Related research

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-128084 (CVSS v3.1 4.8) — Ninja Signal Threat Intelligence | Ninja Signal