Every CVE Search/ Get API key

CVE-2026-54619

sqlite3-ruby has Use-After-Free When Redefining SQLite Functions with Different Arity

2.0 LowFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
Low

Exploit likelihood

0.14%Unchanged since Jul 29, 2026
90%50%10%1%

What each source reports

CVE List Score used 2.0

sqlite3-ruby has Use-After-Free When Redefining SQLite Functions with Different Arity

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.

Record
CVE-2026-54619
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
EUVDEUVD-2026-49896 2.0

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.

Record
EUVD-2026-49896
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-28hh-pr2h-2w89 2.0

sqlite3-ruby has Use-After-Free When Redefining SQLite Functions with Different Arity

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.

Record
GHSA-28hh-pr2h-2w89
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
NVD 2.0

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.

Record
CVE-2026-54619
CVSS 4.0
2.0 LowCVSS: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
Weakness
CWE-416
Updated
2026-11-02
OSV 2.0

sqlite3-ruby has Use-After-Free When Redefining SQLite Functions with Different Arity

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.

Record
CVE-2026-54619
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
OSVDEBIAN-CVE-2026-54619 2.0

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.

Record
DEBIAN-CVE-2026-54619
CVSS 4.0
2.0 LowCVSS: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
Updated
2026-11-02
OSVGHSA-28hh-pr2h-2w89 2.0

sqlite3-ruby has Use-After-Free When Redefining SQLite Functions with Different Arity

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.

Record
GHSA-28hh-pr2h-2w89
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
OSVUBUNTU-CVE-2026-54619 2.0

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.

Record
UBUNTU-CVE-2026-54619
CVSS 4.0
2.0 LowCVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
sqlite3-ruby
RubyGems
through 2.9.4
2.9.5
sqlite3
RubyGems
through 2.9.4
2.9.5
ruby-sqlite3
Debian:12
All versions, plus listed versions
1.4.2-41.6.9-11.6.9-21.7.3-11.7.3-2
Show 8 moreShow less
2.10.0-1~exp12.9.0-12.9.1-12.9.3-12.9.5-12.9.5-22.9.6-12.9.6-2
None known
ruby-sqlite3
Debian:13
All versions, plus listed versions
1.7.3-11.7.3-22.10.0-1~exp12.9.0-12.9.1-1
Show 5 moreShow less
2.9.3-12.9.5-12.9.5-22.9.6-12.9.6-2
None known
ruby-sqlite3
Debian:14
before 2.9.5-1, plus listed versions
1.7.3-11.7.3-22.9.0-12.9.1-12.9.3-1
2.9.5-1
sqlite3-ruby
RubyGems
before 2.9.5, plus listed versions
0.5.00.6.00.9.01.0.01.0.1
Show 14 moreShow less
1.1.01.2.01.2.11.2.21.2.31.2.41.2.51.3.01.3.0.beta.11.3.0.beta.21.3.11.3.21.3.31.3.3.beta.1
2.9.5
sqlite3
RubyGems
before 2.9.5, plus listed versions
0.0.00.0.10.0.20.0.30.0.4
Show 45 moreShow less
0.0.50.0.60.0.70.0.80.1.00.1.11.3.101.3.111.3.121.3.131.3.31.3.3.beta.11.3.41.3.51.3.61.3.71.3.81.3.91.4.01.4.11.4.21.4.31.4.41.5.01.5.0.rc11.5.0.rc21.5.11.5.21.5.31.5.41.6.01.6.0.rc11.6.0.rc21.6.11.6.21.6.31.6.41.6.51.6.5.rc11.6.61.6.71.6.81.6.91.7.01.7.1
2.9.5
ruby-sqlite3
Ubuntu:16.04:LTS
All versions, plus listed versions
1.3.10-11.3.11-11.3.11-1build11.3.11-21.3.11-2build1
None known
ruby-sqlite3
Ubuntu:18.04:LTS
All versions, plus listed versions
1.3.13-11.3.13-1build11.3.13-1build2
None known
ruby-sqlite3
Ubuntu:20.04:LTS
All versions, plus listed versions
1.3.13-1build21.4.2-2build1
None known
Show 4 moreShow less
Affected packages
PackageAffectedFixed
ruby-sqlite3
Ubuntu:22.04:LTS
All versions, plus listed versions
1.4.2-31.4.2-3build11.4.2-4
None known
ruby-sqlite3
Ubuntu:24.04:LTS
All versions, plus listed versions
1.4.2-4build21.4.2-4build31.4.2-4build4
None known
ruby-sqlite3
Ubuntu:26.10
All versions, plus listed versions
1.7.3-22.9.5-2
None known
ruby-sqlite3
Ubuntu:26.04:LTS
All versions, plus listed versions
1.7.3-11.7.3-2
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-54619 is a low vulnerability (CVSS 2.0) in Sparklemotion Sqlite3-ruby, published July 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. Fixed in sqlite3-ruby 2.9.5.

References

Show 7 moreShow less
This page doesn't list everything

Left out here: 33 versions. The JSON record has them.

MoveEnter Open