Skip to main content

rust-openssl CVE-2026-42327

| EUVDEUVD-2026-30474 HIGH
Improper Input Validation (CWE-20)
2026-05-05 https://github.com/rust-openssl/rust-openssl GHSA-xp3w-r5p5-63rr
8.7
CVSS 4.0 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Red Hat
9.1 HIGH
qualitative

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

5
Analysis Updated
May 14, 2026 - 21:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
May 14, 2026 - 21:22 vuln.today
cvss_changed
CVSS changed
May 14, 2026 - 21:22 NVD
8.7 (HIGH)
Source Code Evidence Fetched
May 05, 2026 - 22:30 vuln.today
Analysis Generated
May 05, 2026 - 22:30 vuln.today

DescriptionGitHub Advisory

X509Ref::ocsp_responders returns OCSP responder URLs from a certificate's AIA extension as OpensslString, whose Deref<Target = str> wraps the raw bytes with str::from_utf8_unchecked. OpenSSL does not enforce that the underlying IA5String is ASCII, so a certificate with non-UTF-8 bytes in its OCSP accessLocation causes safe Rust code to construct a &str that violates the UTF-8 invariant - resulting in undefined behavior.

AnalysisAI

Undefined behavior in rust-openssl's X509Ref::ocsp_responders allows crafted X.509 certificates with non-UTF-8 OCSP responder URLs to violate Rust's memory safety guarantees. Applications parsing untrusted certificates (TLS handshakes, certificate validation pipelines, PKI tooling) can trigger undefined behavior through safe Rust code when processing malformed AIA extensions. CVSS 8.7 reflects network-exploitable integrity impact; no active exploitation confirmed (not in CISA KEV), but patch available in version 0.10.79 per upstream GitHub advisory GHSA-xp3w-r5p5-63rr.

Technical ContextAI

The rust-openssl crate provides Rust bindings to OpenSSL's libssl/libcrypto libraries. The vulnerability exists in the X509Ref::ocsp_responders method, which extracts OCSP responder URLs from X.509 certificates' Authority Information Access (AIA) extension. Per RFC 5280, these URLs are encoded as IA5String, which OpenSSL defines as ASCII (7-bit). However, OpenSSL's implementation does not validate IA5String encoding. The rust-openssl wrapper calls str::from_utf8_unchecked to convert these raw bytes into Rust's &str type without validation. This violates Rust's fundamental invariant that &str must contain valid UTF-8, classified as CWE-20 (Improper Input Validation). Undefined behavior in Rust can enable memory corruption, information disclosure, or arbitrary code execution depending on how downstream code processes the invalid &str. The CPE identifier pkg:rust/openssl covers versions 0.9.7 through 0.10.78, with version 0.10.79 introducing proper UTF-8 validation before dereferencing to &str.

RemediationAI

Upgrade rust-openssl to version 0.10.79 or later, which implements proper UTF-8 validation in X509Ref::ocsp_responders before constructing &str references (confirmed fix per GitHub advisory GHSA-xp3w-r5p5-63rr at https://github.com/rust-openssl/rust-openssl/security/advisories/GHSA-xp3w-r5p5-63rr). Update Cargo.toml dependency specification to openssl = "0.10.79" and run cargo update. For applications that cannot immediately upgrade, implement certificate validation to reject certificates with non-ASCII characters in AIA extensions before processing, though this requires duplicating OpenSSL's X.509 parsing at the application layer. Alternatively, avoid calling ocsp_responders on untrusted certificates and rely on external OCSP validation services, accepting the operational overhead of out-of-band validation. Note that input filtering is fragile since the vulnerability exists in library internals-upgrading is the only complete mitigation. Organizations should audit dependency trees (cargo tree | grep openssl) to identify all affected components, as transitive dependencies may pull vulnerable versions.

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-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-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

CVE-2014-3470 MEDIUM
4.3 Jun 05

The ssl3_send_client_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before

CVE-2017-3730 HIGH POC
7.5 May 04

In OpenSSL 1.1.0 before 1.1.0d, if a malicious server supplies bad parameters for a DHE or ECDHE key exchange then this

CVE-2016-8610 HIGH
7.5 Nov 13

A denial of service flaw was found in OpenSSL 0.9.8, 1.0.1, 1.0.2 through 1.0.2h, and 1.1.0 in the way the TLS/SSL proto

Vendor StatusVendor

Share

CVE-2026-42327 vulnerability details – vuln.today

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