Skip to main content

rust-openssl EUVDEUVD-2026-25587

| CVE-2026-41898 HIGH
Buffer Over-read (CWE-126)
2026-04-24 GitHub_M GHSA-hppc-g8h3-xhp3
8.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Initiate TLS/DTLS connection
  2. Delivery
    Send crafted PSK/cookie request
  3. Exploit
    Trigger callback with oversized return
  4. Execution
    OpenSSL reads beyond buffer
  5. Impact
    Expose heap memory or crash process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer over-read prevention
Exploitation Conditions

Exploitation requires the target Rust application to use rust-openssl versions 0.9.24-0.10.77 AND explicitly configure at least one of four specific callback types: PSK client callbacks (set_psk_client_callback), PSK server callbacks (set_psk_server_callback), DTLS cookie generation callbacks (set_cookie_generate_cb), or stateless cookie callbacks (set_stateless_cookie_generate_cb). The application's callback closure implementation must also contain a logic bug that returns a usize value exceeding the &mut [u8] slice length provided to it. Attack vector is network-based (AV:N) with no authentication required (PR:N), but success depends on precise timing conditions (AT:P) to trigger the vulnerable code path during TLS/DTLS handshake negotiation. Applications using only default certificate-based TLS authentication without PSK configuration are not exploitable. The vulnerability is also limited to platforms where heap memory layout allows adjacent sensitive data disclosure, making impact severity variable across deployment environments.

Impact

Real-world risk is moderate despite the 8.3 CVSS score. The CVSS:4.0 vector shows network-reachable exploitation (AV:N) with low attack complexity (AC:L) but requires precise timing or race conditions (AT:P), indicating the attacker must control callback timing or server state to reliably trigger the overflow. High confidentiality impact (VC:H) suggests potential memory disclosure of cryptographic material or session data, while low availability impact (VA:L) indicates crashes rather than sustained denial of service. Critically, SSVC framework reports no active exploitation (Exploitation: none) and non-automatable attacks (Automatable: no), meaning this requires targeted development against specific rust-openssl deployments using PSK or cookie callbacks. The vulnerability only manifests in applications that: (1) use rust-openssl for TLS/DTLS, (2) explicitly configure PSK authentication or stateless cookie callbacks, and (3) provide closures with logic bugs that return incorrect buffer sizes. Default TLS configurations using certificate-based authentication are unaffected. Patch availability in version 0.10.78 significantly reduces window of exposure. Priority should be medium for organizations using PSK-based TLS in Rust applications, low for standard certificate-based deployments.

Exploit ScenarioDerived

An attacker establishes a TLS connection to a Rust application server using PSK authentication with a vulnerable rust-openssl version. During the PSK callback phase, the attacker sends a crafted Client Hello requesting a PSK identity that triggers the application's set_psk_server_callback closure. If the closure contains a logic error that returns a buffer size larger than the allocated slice (e.g., returning a hardcoded constant instead of actual data length), the FFI trampoline passes this unchecked value to OpenSSL, causing OpenSSL to read beyond the buffer boundary into adjacent heap memory. This exposes cryptographic key material or session tokens in the confidentiality breach (VC:H), and may cause a segmentation fault leading to process crash (VA:L). Public exploit code availability not confirmed at time of analysis, but attack requires detailed knowledge of target application's callback implementation and precise timing to win race conditions (AT:P).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 24, 2026

Buffer overflow in rust-openssl 0.9.24 through 0.10.77 allows remote unauthenticated attackers to trigger memory corruption via crafted PSK (Pre-Shared Key) or cookie callback responses. The FFI trampolines in SslContextBuilder fail to validate closure-returned buffer sizes against allocated memory regions before passing values to OpenSSL, enabling out-of-bounds writes. Patch released in version 0.10.78. SSVC framework indicates no active exploitation detected, non-automatable attack requiring precise timing conditions (CVSS AT:P), with partial technical impact limited to confidentiality breach and minor availability disruption.

RemediationAI

Upgrade rust-openssl to version 0.10.78 or later, released with fix commit 1d109020d98fff2fb2e45c39a373af3dff99b24c (see https://github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.78 and PR https://github.com/rust-openssl/rust-openssl/pull/2607). Update Cargo.toml dependency to openssl = "0.10.78" and run cargo update. For applications unable to upgrade immediately, implement compensating controls by auditing all SslContextBuilder callback closures to ensure returned usize values never exceed the length of the provided &mut [u8] slice, adding explicit bounds checks like return callback_data.len().min(buffer.len()) before returning buffer sizes. Alternative mitigation: disable PSK cipher suites in TLS configuration if not required for business logic, forcing certificate-based authentication only, though this may break compatibility with embedded/IoT devices expecting PSK. Note that disabling callbacks entirely eliminates attack surface but removes PSK and stateless DTLS functionality. Test callback logic thoroughly after applying workarounds, as overly restrictive bounds checking may cause TLS handshake failures.

Affected VersionsENISA

rust-openssl 0.9.24, < 0.10.78

Affected Packages

cargo openssl fix: 0.10.78
euvd rust_openssl_0_9_24 fix: 0.10.78

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in cargo, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

rust-openssl is a Rust language binding library providing safe FFI (Foreign Function Interface) wrappers around OpenSSL cryptographic functions. The vulnerability resides in four callback registration methods within SslContextBuilder: set_psk_client_callback, set_psk_server_callback, set_cookie_generate_cb, and set_stateless_cookie_generate_cb. These methods create FFI trampolines that bridge Rust closures to C-compatible OpenSSL callbacks. The root cause (CWE-126: Buffer Over-read) occurs when the trampoline forwards the usize return value from user-provided closures directly to OpenSSL without bounds-checking it against the mutable byte slice (&mut [u8]) passed to the closure. This violates Rust's memory safety guarantees at the FFI boundary, allowing the closure to specify arbitrary buffer lengths that exceed allocated memory regions, resulting in buffer overflows when OpenSSL attempts to read or write beyond valid boundaries. The affected CPE (cpe:2.3:a:rust-openssl:rust-openssl) spans versions 0.9.24 through 0.10.77, covering approximately two years of releases.

Know when OpenSSL gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.3 HIGH
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
SUSE 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
Patch released
Apr 28, 2026 - 17:45 nvd
Patch available
Patch available
Apr 24, 2026 - 19:01 EUVD
CVSS changed
Apr 24, 2026 - 18:22 NVD
8.3 (HIGH)
CVE Published
Apr 24, 2026 - 17:20 nvd
HIGH 8.3

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 352 cargo packages depend on openssl (62 direct, 290 indirect)

Ecosystem-wide dependent count for version 0.9.24.

Executive ViewAI

Why It Matters

rust-openssl versions 0.9.24 through 0.10.77 contain a buffer overflow vulnerability that allows remote attackers to cause memory corruption and potential data breaches through malformed PSK or cookie responses. This affects any application using the vulnerable library versions for TLS/SSL communications, requiring immediate remediation to prevent unauthorized access to sensitive data handled by affected services.

Business Impact: High
Compensating Controls

Vendor-released patch: rust-openssl 0.10.78. Apply immediately upon release validation. If immediate patching is infeasible, restrict network exposure of affected services to trusted networks only and implement network-based rate limiting on TLS connection attempts to increase attack complexity.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2021-3711 CRITICAL POC
9.8 Aug 24

In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2016-0800 MEDIUM POC
5.9 Mar 01

The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se

CVE-2015-0204 MEDIUM POC
4.3 Jan 09

The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k

CVE-2022-2068 HIGH
7.3 Jun 21

In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas

CVE-2015-4000 LOW POC
3.7 May 21

The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro

CVE-2014-3566 LOW POC
3.4 Oct 15

The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2015-1793 MEDIUM POC
6.5 Jul 09

The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/toolbox:latest Affected
Image SLES15-SP7-Azure-3P Image SLES15-SP7-Azure-Basic Image SLES15-SP7-Azure-Standard Image SLES15-SP7-BYOS-Azure Image SLES15-SP7-BYOS-GCE Image SLES15-SP7-CHOST-BYOS-Aliyun Image SLES15-SP7-CHOST-BYOS-Azure Image SLES15-SP7-CHOST-BYOS-EC2 Image SLES15-SP7-CHOST-BYOS-GDC Image SLES15-SP7-CHOST-BYOS-SAP-CCloud Image SLES15-SP7-EC2 Image SLES15-SP7-EC2-ECS-HVM Image SLES15-SP7-GCE Image SLES15-SP7-HPC-Azure Image SLES15-SP7-HPC-BYOS-Azure Image SLES15-SP7-HPC-BYOS-EC2 Image SLES15-SP7-HPC-BYOS-GCE Image SLES15-SP7-Hardened-BYOS-Azure Image SLES15-SP7-Hardened-BYOS-EC2 Image SLES15-SP7-Hardened-BYOS-GCE Image SLES15-SP7-SAP-Azure Image SLES15-SP7-SAP-Azure-3P Image SLES15-SP7-SAP-BYOS-Azure Image SLES15-SP7-SAP-BYOS-EC2 Image SLES15-SP7-SAP-BYOS-GCE Image SLES15-SP7-SAP-EC2 Image SLES15-SP7-SAP-GCE Image SLES15-SP7-SAP-Hardened-Azure Image SLES15-SP7-SAP-Hardened-BYOS-Azure Image SLES15-SP7-SAP-Hardened-BYOS-EC2 Image SLES15-SP7-SAP-Hardened-BYOS-GCE Image SLES15-SP7-SAP-Hardened-GCE Image SLES15-SP7-SAPCAL-Azure Image SLES15-SP7-SAPCAL-EC2 Image SLES15-SP7-SAPCAL-GCE Affected
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Fixed

References

Advisories & patches
ADVISORY https://vuldb.com/vuln/359495 ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22554/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22583/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22589/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22593/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22615/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22622/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22624/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:22787/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2807/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2811/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2825/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2826/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2831/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2832/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2975/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2976/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:2977/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:3022/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:3026/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:3040/ ADVISORY https://www.suse.com/support/update/SUSE-SU-2026:3152/ REF https://github.com/rust-openssl/rust-openssl/commit/1d109020d98fff2fb2e45c39a373af3dff99b24c REF https://github.com/rust-openssl/rust-openssl/pull/2607 REF https://github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.78 REF https://github.com/rust-openssl/rust-openssl/security/advisories/GHSA-hppc-g8h3-xhp3

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy