CVE-2022-3996: Denial of service by double-checked locking in openssl-src
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.40782%
CWE
Published
12/13/2022
Updated
10/2/2024
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 |
|---|---|---|---|
| openssl-src | rust | >= 300.0.0, < 300.0.12 | 300.0.12 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper recursive locking in policy constraint handling. The commit diff shows the fix removed a CRYPTO_THREAD_write_lock() call in ossl_policy_cache_set_mapping, which was causing a double-lock scenario. This function is part of the policy processing logic triggered when X509_VERIFY_PARAM_add0_policy() or X509_VERIFY_PARAM_set1_policies() are used, but the actual locking vulnerability resides in ossl_policy_cache_set_mapping during certificate validation.