Severity by source
CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from Vendor (https://github.com/sparklemotion/sqlite3-ruby) · only source for this CVE.
CVSS VectorVendor: https://github.com/sparklemotion/sqlite3-ruby
Lifecycle Timeline
3DescriptionCVE.org
Summary
Using Database#create_function or Database#define_function to define the same function name more than once with different numbers of arguments ("arity") or text encodings will result in a invalid memory read and a segmentation fault.
Mitigation
Upgrade to sqlite3 gem v2.9.5 or later.
As a workaround, avoid defining multiple custom functions with the same name (varying numbers of arguments or encoding).
Severity
The sqlite3-ruby maintainers assess this as Low severity. It is reliably triggered after GC when code is structured in a particular way. There is no known general exploit that could be used as a denial of service attack.
AnalysisAI
A use-after-free vulnerability in the sqlite3-ruby gem allows an attacker to crash the Ruby process by defining a custom SQLite function with the same name but a different number of arguments or text encoding, leading to an invalid memory read and segmentation fault. The issue affects versions prior to 2.9.5 and was assessed as low severity by the maintainers due to the specific code pattern required for exploitation.
Same weakness CWE-416 – Use After Free
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-49896
GHSA-28hh-pr2h-2w89