EVP_DigestFinal() always writes EVP_MD_CTX_size(ctx) to the out buffer. If out is smaller than that, MdCtxRef::digest_final() writes past its end, usually corrupting the stack. This is reachable from safe Rust.
{
"github_reviewed": true,
"github_reviewed_at": "2026-04-22T21:05:02Z",
"cwe_ids": [
"CWE-121"
],
"severity": "HIGH",
"nvd_published_at": "2026-04-24T18:16:29Z"
}