sqlite3 provides Ruby bindings for the SQLite3 embedded database. In version 2.9.4 and earlier, redefining a SQLite function with a different arity frees the previously registered function handler while SQLite may still reference it, resulting in a use-after-free. This issue is fixed in version 2.9.5.
{
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54619.json",
"cwe_ids": [
"CWE-416"
]
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "2.9.5"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
[
{
"id": "CVE-2026-54619-8f78c091",
"deprecated": false,
"digest": {
"length": 455.0,
"function_hash": "320502227548289844685919605394161335417"
},
"signature_version": "v1",
"target": {
"file": "ext/sqlite3/database.c",
"function": "define_function_with_flags"
},
"source": "https://github.com/sparklemotion/sqlite3-ruby/commit/2bd436d17f77cdd4c31b00fe9d50b0d21cbaf033",
"signature_type": "Function"
},
{
"id": "CVE-2026-54619-f38e90ff",
"deprecated": false,
"digest": {
"line_hashes": [
"5507359179173828294210829281448637030",
"121005372655422925823746995976943339653",
"17865087580315502383485314049429276864",
"157692062085054141703051043966096733447"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "ext/sqlite3/database.c"
},
"source": "https://github.com/sparklemotion/sqlite3-ruby/commit/2bd436d17f77cdd4c31b00fe9d50b0d21cbaf033",
"signature_type": "Line"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-54619.json"
"2026-08-18T18:39:12Z"