CVE-2020-35871: Data races in rusqlite
8.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.55836%
CWE
Published
8/25/2021
Updated
6/13/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
rusqlite | rust | < 0.23.0 | 0.23.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper synchronization in the Auxdata API implementation. The commit diff shows critical changes to these functions:
- set_aux was modified to use Arc<dyn Any + Send + Sync> instead of raw pointers
- get_aux was changed to handle thread-safe Arc downcasting
- Added Send/Sync bounds to enforce thread safety
- The CWE-362 classification confirms this is a concurrency issue
- The patch introduces atomic reference counting and proper trait bounds, indicating the previous implementation lacked these safeguards
- The vulnerability description specifically mentions 'Auxdata API data race' as the attack vector