Impact
The vulnerability occurs in the aes::unwrap_key function of rust‑openssl. An incorrect bounds assertion mistakenly checks that out.len()+8 <= in_.len() instead of ensuring that the output buffer is large enough, out.len() >= in_.len()-8. When a smaller buffer is provided the function writes beyond the end of the output buffer, resulting in an out‑of‑bounds write from a public API. This can corrupt memory and potentially allow an attacker to achieve arbitrary code execution or cause a denial of service.
Affected Systems
All users of rust‑openssl from the beginning of the 0.10 series up to, but not including, version 0.10.78 are affected. The issue is fixed in 0.10.78; newer releases are not vulnerable.
Risk and Exploitability
The CVSS score of 7.2 indicates a medium to high severity vulnerability. The EPSS score of less than 1% suggests that exploitation is currently unlikely, and the vulnerability is not listed in the CISA KEV catalog. Because the vulnerable function is part of the public API, the likely attack vector is an application that calls aes::unwrap_key with untrusted or attacker‑controlled data. An exploitation path would entail supplying a crafted key wrap that leads to an out‑of‑bounds write, followed by tampering with memory to achieve arbitrary code execution. Based on the description, it is inferred that local or remote exploitation is feasible if the application accepts input from an untrusted source.
OpenCVE Enrichment
Github GHSA