Update Rust crate openssl to v0.10.79 [SECURITY]#21
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
c65001d to
5c811aa
Compare
5c811aa to
ee50069
Compare
ee50069 to
4f5ff4f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.10.30→0.10.79opensslX509Extension::newandX509Extension::new_nidnull pointer dereferenceGHSA-6hcf-g6gr-hhcr
More information
Details
These functions would crash when the context argument was None with certain extension types.
Thanks to David Benjamin (Google) for reporting this issue.
Severity
High
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
opensslX509NameBuilder::buildreturned object is not thread safeGHSA-3gxf-9r58-2ghg
More information
Details
OpenSSL has a
modifiedbit that it can set on onX509_NAMEobjects. If this bit is set then the object is not thread-safe even when it appears the code is not modifying the value.Thanks to David Benjamin (Google) for reporting this issue.
Severity
Medium
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
opensslSubjectAlternativeNameandExtendedKeyUsage::otherallow arbitrary file readGHSA-9qwg-crg9-m2vc
More information
Details
SubjectAlternativeNameandExtendedKeyUsagearguments were parsed using the OpenSSL functionX509V3_EXT_nconf. This function parses all input using an OpenSSL mini-language which can perform arbitrary file reads.Thanks to David Benjamin (Google) for reporting this issue.
Severity
High
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
opensslX509VerifyParamRef::set_hostbuffer over-readCVE-2023-53159 / GHSA-xcf7-rvmh-g6q4
More information
Details
When this function was passed an empty string,
opensslwould attempt to callstrlenon it, reading arbitrary memory until it reached a NUL byte.Severity
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
opensslX509StoreRef::objectsis unsoundGHSA-xphf-cx8h-7q9g
More information
Details
This function returned a reference into an OpenSSL datastructure, but there was no way to ensure OpenSSL would not mutate the datastructure behind one's back.
Use of this function should be replaced with
X509StoreRef::all_certificates.Severity
Medium
References
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
openssl's
MemBio::get_bufhas undefined behavior with empty buffersGHSA-q445-7m23-qrmw
More information
Details
Previously,
MemBio::get_bufcalledslice::from_raw_partswith a null-pointer, which violates the functions invariants, leading to undefined behavior. In debug builds this would produce an assertion failure. This is now fixed.Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl ssl::select_next_proto use after free
CVE-2025-24898 / GHSA-rpmj-rpgj-qmpm
More information
Details
Impact
ssl::select_next_protocan return a slice pointing into theserverargument's buffer but with a lifetime bound to theclientargument. In situations where theserverbuffer's lifetime is shorter than theclientbuffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client.Patches
openssl0.10.70 fixes the signature ofssl::select_next_prototo properly constrain the output buffer's lifetime to that of both input buffers.Workarounds
In standard usage of
ssl::select_next_protoin the callback passed toSslContextBuilder::set_alpn_select_callback, code is only affected if theserverbuffer is constructed within the callback. For example:Not vulnerable - the server buffer has a
'staticlifetime:Not vulnerable - the server buffer outlives the handshake:
Vulnerable - the server buffer is freed when the callback returns:
References
https://github.com/sfackler/rust-openssl/pull/2360
Severity
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl: Unchecked callback length in PSK/cookie trampolines leaks adjacent memory to peer
CVE-2026-41898 / GHSA-hppc-g8h3-xhp3
More information
Details
The FFI trampolines behind
SslContextBuilder::set_psk_client_callback,set_psk_server_callback,set_cookie_generate_cb, andset_stateless_cookie_generate_cbforwarded 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.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl has incorrect bounds assertion in aes key wrap
CVE-2026-41678 / GHSA-8c75-8mhr-p7r9
More information
Details
Summary
aes::unwrap_key()has an incorrect bounds assertion on the out buffer size, which can lead to out-of-bounds write.Details
aes::unwrap_key()contains an incorrect assertion: it checks thatout.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant isout.len() >= in_.len() - 8, ensuring the output buffer is large enough.Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of
outbyin_.len() - 8 - out.len()bytes, causing an out-of-bounds write from a safe public function.Impact
Vulnerable applications using AES keywrap and allowing attacker controlled buffer sizes could have an attacker trigger an out-of-bounds write.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-opennssl has an Out-of-bounds read in PEM password callback when returning an oversized length
CVE-2026-41677 / GHSA-xmgf-hq76-4vx2
More information
Details
The
*_from_pem_callbackAPIs did not validate the length returned by the user's callback. A password callback that returns a value larger than the buffer it was given can cause some versions of OpenSSL to over-read this buffer. OpenSSL 3.x is not affected by this.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl: Deriver::derive and PkeyCtxRef::derive can overflow short buffers on OpenSSL 1.1.1
CVE-2026-41676 / GHSA-pqf5-4pqq-29f5
More information
Details
Deriver::derive(andPkeyCtxRef::derive) setslen = buf.len()and passes it as the in/out length toEVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming*keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl has undefined behavior in X509Ref::ocsp_responders for certificates with non-UTF-8 OCSP URLs
CVE-2026-42327 / GHSA-xp3w-r5p5-63rr
More information
Details
X509Ref::ocsp_respondersreturns OCSP responder URLs from a certificate's AIA extension asOpensslString, whoseDeref<Target = str>wraps the raw bytes withstr::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&strthat violates the UTF-8 invariant — resulting in undefined behavior.Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
rust-openssl vulnerable to heap buffer overflow when encrypting with AES key-wrap-with-padding
CVE-2026-44662 / GHSA-xv59-967r-8726
More information
Details
CipherCtxRef::cipher_update,CipherCtxRef::cipher_update_vec, andsymm::Crypter::updateincorrectly sized output buffers when used with AES key-wrap-with-padding ciphers (EVP_aes_{128,192,256}_wrap_pad). For a non-multiple-of-8 input, OpenSSL writes up to 7 bytes past the end of the caller's buffer or Vec, producing attacker-controllable heap corruption when the plaintext length is attacker-influenced.This only impacts users using AES key-wrap-with-padding ciphers.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
rust-openssl/rust-openssl (openssl)
v0.10.79Compare Source
What's Changed
use libc::*;with targeted imports in openssl-sys by @alex in #2618Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.78...openssl-v0.10.79
v0.10.78Compare Source
What's Changed
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.77...openssl-v0.10.78
v0.10.77Compare Source
What's Changed
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.76...openssl-v0.10.77
v0.10.76Compare Source
What's Changed
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.75...openssl-v0.10.76
v0.10.75Compare Source
What's Changed
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.74...openssl-v0.10.75
v0.10.74Compare Source
What's Changed
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.73...openssl-v0.10.74
v0.10.73Compare Source
What's Changed
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.72...openssl-v0.10.73
v0.10.72Compare Source
What's Changed
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.71...openssl-v0.10.72
v0.10.71Compare Source
What's Changed
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.