CVE-2021-45718: Use After Free in rusqlite
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.51056%
CWE
Published
1/6/2022
Updated
6/13/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
rusqlite | rust | >= 0.25.0, < 0.25.4 | 0.25.4 |
rusqlite | rust | >= 0.26.0, < 0.26.2 | 0.26.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from incorrect lifetime bounds on closure parameters in multiple callback registration functions. The RustSec advisory explicitly lists these 7 functions across hooks, functions, and collation features. The GitHub issue #1048 provides a concrete reproduction using update_hook, while CVE description specifically calls out rollback_hook. All listed functions share the same pattern of accepting closures that could outlive their captured environments due to insufficient lifetime constraints, enabling use-after-free scenarios when SQLite later invokes these callbacks.