chore(deps): update rust crate openssl to v0.10.79 [security]#166
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update rust crate openssl to v0.10.79 [security]#166renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
c4d2efe to
698ab58
Compare
698ab58 to
1763ec9
Compare
1763ec9 to
e5d65ad
Compare
e5d65ad to
e197728
Compare
e197728 to
b29c752
Compare
b29c752 to
511074d
Compare
39a9151 to
511074d
Compare
511074d to
39a9151
Compare
39a9151 to
5de0156
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.68→0.10.79rust-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 Use-After-Free in
Md::fetchandCipher::fetchGHSA-4fcv-w3qc-ppgg
More information
Details
When a
Some(...)value was passed to thepropertiesargument of either of these functions, a use-after-free would result.In practice this would nearly always result in OpenSSL treating the properties as an empty string (due to
CString::drop's behavior).The maintainers thank quitbug for reporting this vulnerability to us.
Severity
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/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: rustMdCtxRef::digest_final() writes past caller buffer with no length check
CVE-2026-41681 / GHSA-ghm9-cr32-g9qj
More information
Details
EVP_DigestFinal()always writesEVP_MD_CTX_size(ctx)to theoutbuffer. Ifoutis smaller than that,MdCtxRef::digest_final()writes past its end, usually corrupting the stack. This is reachable from safe Rust.Severity
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:UReferences
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).
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
New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.70...openssl-v0.10.71
v0.10.70: openssl v0.10.70Compare Source
What's Changed
SslMethod::{dtls_client,dtls_server}by @alex in sfackler#2358Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.69...openssl-v0.10.70
v0.10.69: openssl v0.10.69Compare Source
What's Changed
openssl-macroto version0.1.1by @caspermeijn in sfackler#2324New Contributors
Full Changelog: rust-openssl/rust-openssl@openssl-v0.10.68...openssl-v0.10.69
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.