Skip to content
Heist/ feed
Back to feed
High

rust-openssl: Unchecked callback-returned length in PSK and cookie generate trampolines can cause OpenSSL to leak adjacent memory to the network peer

Type: advisorySources: OSV

rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.24 to before 0.10.78, the FFI trampolines behind SslContextBuilder::set_psk_client_callback, set_psk_server_callback, set_cookie_generate_cb, and set_stateless_cookie_generate_cb forwarded the user closure's returned usize directly to OpenSSL without checking it against the &mut [u8] that was handed to the closure. This can lead to buffer overflows and other unintended consequences. This vulnerability is fixed in 0.10.78.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-41898
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 08:35 UTC · Revision 1

Source evidence

rust-openssl: Unchecked callback-returned length in PSK and cookie generate trampolines can cause OpenSSL to leak adjacent memory to the network peer

core-osv · Original source

Published 24 Apr 2026, 17:20 UTC

rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.24 to before 0.10.78, the FFI trampolines behind SslContextBuilder::set_psk_client_callback, set_psk_server_callback, set_cookie_generate_cb, and set_stateless_cookie_generate_cb forwarded the user closure's returned usize directly to OpenSSL without checking it against the &mut [u8] that was handed to the closure. This can lead to buffer overflows and other unintended consequences. This vulnerability is fixed in 0.10.78.

osv:CVE-2026-41898
Complete source record
{
  "id": "6d888a223d70f85d084f9a87d131269d812dd478ec769d9da486ef72df30659c",
  "url": "https://osv.dev/vulnerability/CVE-2026-41898",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "rust-openssl: Unchecked callback-returned length in PSK and cookie generate trampolines can cause OpenSSL to leak adjacent memory to the network peer",
    "summary": "rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.24 to before 0.10.78, the FFI trampolines behind SslContextBuilder::set_psk_client_callback, set_psk_server_callback, set_cookie_generate_cb, and set_stateless_cookie_generate_cb forwarded the user closure's returned usize directly to OpenSSL without checking it against the &mut [u8] that was handed to the closure. This can lead to buffer overflows and other unintended consequences. This vulnerability is fixed in 0.10.78.",
    "evidence": "osv:CVE-2026-41898",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-41898",
      "aliases": [
        "CVE-2026-41898",
        "GHSA-hppc-g8h3-xhp3"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/rust-openssl/rust-openssl",
              "type": "GIT",
              "events": [
                {
                  "introduced": "95c7bf3cbadf7cbb37dd27ea706740f01559c435"
                },
                {
                  "fixed": "a6debf535674c9a073f455158743e6ba094cf1b4"
                },
                {
                  "fixed": "1d109020d98fff2fb2e45c39a373af3dff99b24c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:*",
                    "range": [
                      {
                        "introduced": "0.9.24"
                      },
                      {
                        "fixed": "0.10.78"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1d109020d98fff2fb2e45c39a373af3dff99b24c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a6debf535674c9a073f455158743e6ba094cf1b4"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "openssl-v0.10.78"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41898.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.387701171Z",
      "provider": "osv",
      "references": [
        "https://github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.78",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41898.json",
        "https://github.com/rust-openssl/rust-openssl/security/advisories/GHSA-hppc-g8h3-xhp3",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-41898",
        "https://github.com/rust-openssl/rust-openssl/commit/1d109020d98fff2fb2e45c39a373af3dff99b24c",
        "https://github.com/rust-openssl/rust-openssl/pull/2607"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-126",
          "CWE-130"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41898.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-41898",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518773,
  "published_at": "2026-04-24T17:20:38.073+00:00"
}