{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:*",
            "extracted_events": [
              {
                "introduced": "0.10.39"
              },
              {
                "fixed": "0.10.78"
              }
            ],
            "source": [
              "CPE_RANGE",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "936aba3c6062a1aa8166cde1306a5763523aca23"
            },
            {
              "fixed": "a6debf535674c9a073f455158743e6ba094cf1b4"
            },
            {
              "fixed": "826c3888b77add418b394770e2b2e3a72d9f92fe"
            }
          ],
          "repo": "https://github.com/rust-openssl/rust-openssl",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-ghm9-cr32-g9qj"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-121"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41681.json"
  },
  "details": "rust-openssl provides OpenSSL bindings for the Rust programming language.  From 0.10.39 to before 0.10.78, 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. This vulnerability is fixed in 0.10.78.",
  "id": "CVE-2026-41681",
  "modified": "2026-07-15T01:49:02.375306555Z",
  "published": "2026-04-24T17:19:15.187Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.78"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41681.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/rust-openssl/rust-openssl/security/advisories/GHSA-ghm9-cr32-g9qj"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-41681"
    },
    {
      "type": "FIX",
      "url": "https://github.com/rust-openssl/rust-openssl/commit/826c3888b77add418b394770e2b2e3a72d9f92fe"
    },
    {
      "type": "FIX",
      "url": "https://github.com/rust-openssl/rust-openssl/pull/2608"
    }
  ],
  "schema_version": "1.8.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U",
      "type": "CVSS_V4"
    }
  ],
  "summary": "rust-openssl: MdCtxRef::digest_final() writes past caller buffer with no length check"
}