Impact
rust‑openssl versions from 0.9.0 through 0.10.77 contain a flaw in the *_from_pem_callback APIs, where the callback length is not validated. When a user callback returns a value larger than the buffer provided, certain OpenSSL releases may over‑read this buffer, resulting in an out‑of‑bounds read. This can lead to the exposure of memory contents but does not directly enable code execution or modify data. The weakness is a classic out‑of‑bounds read (CWE‑125) and insufficient input validation (CWE‑1284).
Affected Systems
Vendors: rust‑openssl. Affected product: rust‑openssl Rust library. Versions impacted are 0.9.0 up to, but not including, 0.10.78. OpenSSL 3.x does not exhibit the over‑read, so the issue is confined to systems linking against OpenSSL 1.x or 3.x when the older rust‑openssl bindings are used.
Risk and Exploitability
The CVSS score of 1.7 indicates a low severity. The EPSS score of < 1% reflects a very low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an application that processes a PEM file with a custom password callback; a malicious callback that returns an oversized length can trigger the over‑read. Because the effect is limited to memory disclosure, the practical impact is constrained to the process in which the library is executed. No remote exploitation is seen from the description, and no additional conditions are required beyond normal library usage.
OpenCVE Enrichment
Github GHSA