CVE-2025-24898
rust openssl ssl::select_next_proto use after free
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.3
rust openssl ssl::select_next_proto use after free
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
CVE-2025-24898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-416
- Updated
- 2026-11-02
EUVDEUVD-2025-0223
6.3
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
EUVD-2025-0223- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-rpmj-rpgj-qmpm
6.3
rust-openssl ssl::select_next_proto use after free
Impact
ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the server buffer's lifetime is shorter than the client buffer'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
openssl 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers.
Workarounds
In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback. For example:
Not vulnerable - the server buffer has a 'static lifetime:
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(b"\x02h2", client_protos).ok_or_else(AlpnError::NOACK)
});
Not vulnerable - the server buffer outlives the handshake:
let server_protos = b"\x02h2".to_vec();
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
Vulnerable - the server buffer is freed when the callback returns:
builder.set_alpn_select_callback(|_, client_protos| {
let server_protos = b"\x02h2".to_vec();
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
References
- Record
GHSA-rpmj-rpgj-qmpm- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-416
- Updated
- 2026-11-02
NVD
6.3
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
CVE-2025-24898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/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 - Weakness
- CWE-416
- Updated
- 2026-11-02
OSV
6.3
rust openssl ssl::select_next_proto use after free
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
CVE-2025-24898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-416
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-24898
6.3
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
DEBIAN-CVE-2025-24898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/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 - Updated
- 2026-11-02
Show 28 moreShow less
OSVGHSA-rpmj-rpgj-qmpm
6.3
rust-openssl ssl::select_next_proto use after free
Impact
ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the server buffer's lifetime is shorter than the client buffer'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
openssl 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers.
Workarounds
In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback. For example:
Not vulnerable - the server buffer has a 'static lifetime:
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(b"\x02h2", client_protos).ok_or_else(AlpnError::NOACK)
});
Not vulnerable - the server buffer outlives the handshake:
let server_protos = b"\x02h2".to_vec();
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
Vulnerable - the server buffer is freed when the callback returns:
builder.set_alpn_select_callback(|_, client_protos| {
let server_protos = b"\x02h2".to_vec();
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
References
- Record
GHSA-rpmj-rpgj-qmpm- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-416
- Updated
- 2026-11-02
OSVOESA-2025-1120
4.8
three-eight-nine-ds-base security update
389-ds-base is an LDAPv3 compliant server which includes the LDAP server and command line utilities for server administration.
Security Fix(es):
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.(CVE-2025-24898)
- Record
OESA-2025-1120- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVOESA-2025-1121
4.8
three-eight-nine-ds-base security update
389-ds-base is an LDAPv3 compliant server which includes the LDAP server and command line utilities for server administration.
Security Fix(es):
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.(CVE-2025-24898)
- Record
OESA-2025-1121- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVOESA-2026-3710
6.3
rpm-ostree security update
rpm-ostree is a hybrid image/package system. It supports "composing" packages on a build server into an OSTree repository, which can then be replicated by client systems with atomic upgrades. Additionally, unlike many "pure" image systems, with rpm-ostree each client system can layer on additional packages, providing a "best of both worlds" approach.
Security Fix(es):
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.(CVE-2025-24898)
- Record
OESA-2026-3710- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVOESA-2026-3711
6.3
rpm-ostree security update
rpm-ostree is a hybrid image/package system. It supports "composing" packages on a build server into an OSTree repository, which can then be replicated by client systems with atomic upgrades. Additionally, unlike many "pure" image systems, with rpm-ostree each client system can layer on additional packages, providing a "best of both worlds" approach.
Security Fix(es):
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.(CVE-2025-24898)
- Record
OESA-2026-3711- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVOESA-2026-3712
6.3
rpm-ostree security update
rpm-ostree is a hybrid image/package system. It supports "composing" packages on a build server into an OSTree repository, which can then be replicated by client systems with atomic upgrades. Additionally, unlike many "pure" image systems, with rpm-ostree each client system can layer on additional packages, providing a "best of both worlds" approach.
Security Fix(es):
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.(CVE-2025-24898)
- Record
OESA-2026-3712- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVRHSA-2025:7147
4.8
Red Hat Security Advisory: rpm-ostree security update
- Record
RHSA-2025:7147- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRHSA-2025:7160
4.8
Red Hat Security Advisory: bootc security update
- Record
RHSA-2025:7160- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRHSA-2025:7241
4.8
Red Hat Security Advisory: rust-bootupd security update
- Record
RHSA-2025:7241- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRHSA-2025:7313
4.8
Red Hat Security Advisory: keylime-agent-rust security update
- Record
RHSA-2025:7313- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRHSA-2025:7317
4.8
Red Hat Security Advisory: python3.12-cryptography security update
- Record
RHSA-2025:7317- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRLSA-2025:7160
4.8
Moderate: bootc security update
Bootable container system
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 9 Release Notes linked from the References section.
- Record
RLSA-2025:7160- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRLSA-2025:7241
4.8
Moderate: rust-bootupd security update
Bootloader updater
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 9 Release Notes linked from the References section.
- Record
RLSA-2025:7241- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRLSA-2025:7313
4.8
Moderate: keylime-agent-rust security update
Rust agent for Keylime
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 9 Release Notes linked from the References section.
- Record
RLSA-2025:7313- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVRLSA-2025:7317
4.8
Moderate: python3.12-cryptography security update
Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 9 Release Notes linked from the References section.
- Record
RLSA-2025:7317- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-24898
6.3
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
UBUNTU-CVE-2025-24898- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVALSA-2025:7147 No score
Moderate: rpm-ostree security update
The rpm-ostree tool binds together the RPM packaging model with the OSTree model of bootable file system trees. It provides commands that can be used both on client systems and on server-side composes. The rpm-ostree-client package provides commands for client systems to perform upgrades and rollbacks.
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2025:7147- Updated
- 2026-11-02
OSVALSA-2025:7160 No score
Moderate: bootc security update
Bootable container system
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2025:7160- Updated
- 2026-11-02
OSVALSA-2025:7241 No score
Moderate: rust-bootupd security update
Bootloader updater
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2025:7241- Updated
- 2026-11-02
OSVALSA-2025:7313 No score
Moderate: keylime-agent-rust security update
Rust agent for Keylime
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2025:7313- Updated
- 2026-11-02
OSVALSA-2025:7317 No score
Moderate: python3.12-cryptography security update
Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.
Security Fix(es):
- rust-openssl: rust openssl ssl::select_next_proto use after free (CVE-2025-24898)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2025:7317- Updated
- 2026-11-02
OSVAZL-56427 No score
CVE-2025-24898 affecting package 389-ds-base 3.1.1-12
rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the sever buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client. The crateopenssl version 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers. Users are advised to upgrade. In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback.
- Record
AZL-56427- Updated
- 2026-11-05
OSVopenSUSE-SU-2025:14814-1 No score
obs-service-cargo-4.5.0-2.1 on GA media
These are all security issues fixed in the obs-service-cargo-4.5.0-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14814-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21464-1 No score
Security update for libkrun
This update for libkrun fixes the following issues:
- CVE-2025-24898: openssl: use-after-free in
ssl::select_next_protodue to improper lifetime handling (bsc#1270429). - CVE-2026-41676: openssl: short buffer overflow via
Deriver:deriveandPkeyCtxRef:derivewhen using OpenSSL 1.1.1 (bsc#1270198). - CVE-2026-41677: openssl: out-of-bounds read in PEM password callback when returning an oversized length (bsc#1270582).
- CVE-2026-41678: openssl: OOB write due to incorrect bounds assertion in
aes::unwrap_key()(bsc#1270683). - CVE-2026-41681: openssl: stack corruption due to
MdCtxRef::digest_final()writing past caller buffer with no length check (bsc#1270721). - CVE-2026-41898: openssl: information leak to network peers due to unchecked callback-returned length in PSK and cookie generate trampolines (bsc#1270831).
- CVE-2026-42327: openssl: undefined behavior in
X509Ref::ocsp_responderswhen processing certificates with non-UTF-8 OCSP URLs (bsc#1270470). - CVE-2026-44662: openssl: heap buffer overflow when encrypting with AES key-wrap-with-padding (bsc#1270877).
- Record
openSUSE-SU-2026:21464-1- Updated
- 2026-11-02
OSVRUSTSEC-2025-0004 No score
ssl::select_next_proto use after free
In openssl versions before 0.10.70, ssl::select_next_proto can return a slice pointing into the server argument's buffer but with a lifetime bound to the client argument. In situations where the server buffer's lifetime is shorter than the client buffer's, this can cause a use after free. This could cause the server to crash or to return arbitrary memory contents to the client.
openssl 0.10.70 fixes the signature of ssl::select_next_proto to properly constrain the output buffer's lifetime to that of both input buffers.
In standard usage of ssl::select_next_proto in the callback passed to SslContextBuilder::set_alpn_select_callback, code is only affected if the server buffer is constructed within the callback. For example:
Not vulnerable - the server buffer has a 'static lifetime:
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(b"\x02h2", client_protos).ok_or_else(AlpnError::NOACK)
});
Not vulnerable - the server buffer outlives the handshake:
let server_protos = b"\x02h2".to_vec();
builder.set_alpn_select_callback(|_, client_protos| {
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
Vulnerable - the server buffer is freed when the callback returns:
builder.set_alpn_select_callback(|_, client_protos| {
let server_protos = b"\x02h2".to_vec();
ssl::select_next_proto(&server_protos, client_protos).ok_or_else(AlpnError::NOACK)
});
- Record
RUSTSEC-2025-0004- Updated
- 2026-11-02
OSVSUSE-SU-2026:23036-1 No score
Security update for libkrun
This update for libkrun fixes the following issues:
- CVE-2025-24898: openssl: select_next_proto use after free in rust-openssl (bsc#1270429).
- CVE-2026-41676: openssl:
Deriver:deriveandPkeyCtxRef:derivecan overflow short buffers on OpenSSL 1.1.1 (bsc#1270198). - CVE-2026-41677: openssl: out-of-bounds read in PEM password callback when returning an oversized length in rust- openssl crate (bsc#1270582).
- CVE-2026-41678: openssl: incorrect bounds assertion in aes key wrap in rust-openssl crate (bsc#1270683).
- CVE-2026-41681: openssl: MdCtxRef::digest_final() writes past caller buffer with no length check in rust-openssl crate (bsc#1270721).
- CVE-2026-41898: openssl: unchecked callback-returned length in PSK and cookie generate trampolines can leak adjacent memory in rust-openssl crate (bsc#1270831).
- CVE-2026-42327: openssl: arbitrary code execution via specially crafted certificate in rust-openssl crate (bsc#1270470).
- CVE-2026-44662: openssl: heap buffer overflow when encrypting with AES key-wrap-with-padding in rust-openssl crate (bsc#1270877).
Changes for libkrun:
- Update vendored openssl crate to version 0.10.81.
- Record
SUSE-SU-2026:23036-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23070-1 No score
Security update for libkrun
This update for libkrun fixes the following issues:
- CVE-2025-24898: openssl: use-after-free in
ssl::select_next_protodue to improper lifetime handling (bsc#1270429). - CVE-2026-41676: openssl: short buffer overflow via
Deriver:deriveandPkeyCtxRef:derivewhen using OpenSSL 1.1.1 (bsc#1270198). - CVE-2026-41677: openssl: out-of-bounds read in PEM password callback when returning an oversized length (bsc#1270582).
- CVE-2026-41678: openssl: OOB write due to incorrect bounds assertion in
aes::unwrap_key()(bsc#1270683). - CVE-2026-41681: openssl: stack corruption due to
MdCtxRef::digest_final()writing past caller buffer with no length check (bsc#1270721). - CVE-2026-41898: openssl: information leak to network peers due to unchecked callback-returned length in PSK and cookie generate trampolines (bsc#1270831).
- CVE-2026-42327: openssl: undefined behavior in
X509Ref::ocsp_responderswhen processing certificates with non-UTF-8 OCSP URLs (bsc#1270470). - CVE-2026-44662: openssl: heap buffer overflow when encrypting with AES key-wrap-with-padding (bsc#1270877).
- Record
SUSE-SU-2026:23070-1- Updated
- 2026-11-02
OSVUSN-7891-1 No score
rust-openssl vulnerabilities
Matt Mastracci discovered that rust-openssl was incorrectly handling server lifetimes in certain functions. An attacker could possibly use this issue to cause a denial of service or run arbitrary memory content to the client. (CVE-2025-24898)
It was discovered that rust-openssl was incorrectly handling empty strings when setting the host in certain functions. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2023-53159)
It was discovered that rust-openssl was incorrectly handling property arguments in certain functions. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 24.04 LTS. (CVE-2025-3416)
- Record
USN-7891-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
opensslcrates.io |
0.10.0 up to 0.10.70 | 0.10.70 |
rpm-ostreeAlmaLinux:9 |
before 2025.5-1.el9 | 2025.5-1.el9 |
rpm-ostree-libsAlmaLinux:9 |
before 2025.5-1.el9 | 2025.5-1.el9 |
bootcAlmaLinux:9 |
before 1.1.6-3.el9_6 | 1.1.6-3.el9_6 |
system-reinstall-bootcAlmaLinux:9 |
before 1.1.6-3.el9_6 | 1.1.6-3.el9_6 |
bootupdAlmaLinux:9 |
before 0.2.27-3.el9 | 0.2.27-3.el9 |
keylime-agent-rustAlmaLinux:9 |
before 0.2.2-2.el9 | 0.2.2-2.el9 |
python3.12-cryptographyAlmaLinux:9 |
before 41.0.7-2.el9 | 41.0.7-2.el9 |
389-ds-baseAzure Linux:3 |
through 3.1.1-12 | None known |
rust-opensslDebian:12 |
All versions, plus listed versions 0.10.45-10.10.57-10.10.64-10.10.68-10.10.70-1 Show 5 moreShow less0.10.72-10.10.73-10.10.78-10.10.79-10.10.81-1 |
None known |
Show 43 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rust-opensslDebian:13 |
before 0.10.70-1 | 0.10.70-1 |
rust-opensslDebian:14 |
before 0.10.70-1 | 0.10.70-1 |
rust-opensslDebian:11 |
before 0.10.29-1+deb11u1, plus listed versions 0.10.29-1 |
0.10.29-1+deb11u1 |
three-eight-nine-ds-baseopenEuler:24.03-LTS |
before 389-ds-base-3.1.1-5.oe2403 | 389-ds-base-3.1.1-5.oe2403 |
three-eight-nine-ds-baseopenEuler:24.03-LTS-SP1 |
before 389-ds-base-3.1.1-5.oe2403sp1 | 389-ds-base-3.1.1-5.oe2403sp1 |
rpm-ostreeopenEuler:22.03-LTS-SP4 |
before 2022.16-13.oe2203sp4 | 2022.16-13.oe2203sp4 |
rpm-ostreeopenEuler:24.03-LTS-SP1 |
before 2024.4-9.oe2403sp1 | 2024.4-9.oe2403sp1 |
rpm-ostreeopenEuler:24.03-LTS-SP3 |
before 2024.4-9.oe2403sp3 | 2024.4-9.oe2403sp3 |
rpm-ostreeRed Hat:enterprise_linux:9::appstream |
before 0:2025.5-1.el9 | 0:2025.5-1.el9 |
rpm-ostree-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:2025.5-1.el9 | 0:2025.5-1.el9 |
rpm-ostree-debugsourceRed Hat:enterprise_linux:9::appstream |
before 0:2025.5-1.el9 | 0:2025.5-1.el9 |
rpm-ostree-libsRed Hat:enterprise_linux:9::appstream |
before 0:2025.5-1.el9 | 0:2025.5-1.el9 |
rpm-ostree-libs-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:2025.5-1.el9 | 0:2025.5-1.el9 |
bootcRed Hat:enterprise_linux:9::appstream |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
bootc-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
bootc-debugsourceRed Hat:enterprise_linux:9::appstream |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
system-reinstall-bootcRed Hat:enterprise_linux:9::appstream |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
system-reinstall-bootc-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
bootupdRed Hat:enterprise_linux:9::appstream |
before 0:0.2.27-3.el9 | 0:0.2.27-3.el9 |
bootupd-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:0.2.27-3.el9 | 0:0.2.27-3.el9 |
rust-bootupdRed Hat:enterprise_linux:9::appstream |
before 0:0.2.27-3.el9 | 0:0.2.27-3.el9 |
rust-bootupd-debugsourceRed Hat:enterprise_linux:9::appstream |
before 0:0.2.27-3.el9 | 0:0.2.27-3.el9 |
keylime-agent-rustRed Hat:enterprise_linux:9::appstream |
before 0:0.2.2-2.el9 | 0:0.2.2-2.el9 |
keylime-agent-rust-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:0.2.2-2.el9 | 0:0.2.2-2.el9 |
keylime-agent-rust-debugsourceRed Hat:enterprise_linux:9::appstream |
before 0:0.2.2-2.el9 | 0:0.2.2-2.el9 |
python3.12-cryptographyRed Hat:enterprise_linux:9::appstream |
before 0:41.0.7-2.el9 | 0:41.0.7-2.el9 |
python3.12-cryptography-debuginfoRed Hat:enterprise_linux:9::appstream |
before 0:41.0.7-2.el9 | 0:41.0.7-2.el9 |
python3.12-cryptography-debugsourceRed Hat:enterprise_linux:9::appstream |
before 0:41.0.7-2.el9 | 0:41.0.7-2.el9 |
bootcRocky Linux:9 |
before 0:1.1.6-3.el9_6 | 0:1.1.6-3.el9_6 |
rust-bootupdRocky Linux:9 |
before 0:0.2.27-3.el9 | 0:0.2.27-3.el9 |
keylime-agent-rustRocky Linux:9 |
before 0:0.2.2-2.el9 | 0:0.2.2-2.el9 |
python3.12-cryptographyRocky Linux:9 |
before 0:41.0.7-2.el9 | 0:41.0.7-2.el9 |
opensslcrates.io |
0.0.0-0 up to 0.10.70 | 0.10.70 |
libkrunSUSE:Linux Micro 6.0 From an advisory covering 8 CVEs |
before 1.4.10-2.1 | 1.4.10-2.1 |
libkrunSUSE:Linux Micro 6.1 From an advisory covering 8 CVEs |
before 1.4.10-slfo.1.1_2.1 | 1.4.10-slfo.1.1_2.1 |
rust-opensslUbuntu:Pro:20.04:LTS |
before 0.10.23-1ubuntu0.1~esm1, plus listed versions 0.10.23-1 |
0.10.23-1ubuntu0.1~esm1 |
rust-opensslUbuntu:Pro:22.04:LTS |
before 0.10.36-1ubuntu0.1~esm1, plus listed versions 0.10.29-10.10.36-1 |
0.10.36-1ubuntu0.1~esm1 |
rust-opensslUbuntu:Pro:24.04:LTS |
before 0.10.57-1ubuntu0.1~esm1, plus listed versions 0.10.45-10.10.57-1 |
0.10.57-1ubuntu0.1~esm1 |
rust-opensslUbuntu:Pro:20.04:LTS From an advisory covering 3 CVEs |
before 0.10.23-1ubuntu0.1~esm1, plus listed versions 0.10.23-1 |
0.10.23-1ubuntu0.1~esm1 |
rust-opensslUbuntu:Pro:22.04:LTS From an advisory covering 3 CVEs |
before 0.10.36-1ubuntu0.1~esm1, plus listed versions 0.10.29-10.10.36-1 |
0.10.36-1ubuntu0.1~esm1 |
rust-opensslUbuntu:Pro:24.04:LTS From an advisory covering 3 CVEs |
before 0.10.57-1ubuntu0.1~esm1, plus listed versions 0.10.45-10.10.57-1 |
0.10.57-1ubuntu0.1~esm1 |
obs-service-cargoopenSUSE:Tumbleweed |
before 4.5.0-2.1 | 4.5.0-2.1 |
libkrunopenSUSE:Leap 16.0 From an advisory covering 8 CVEs |
before 1.4.10-160000.3.1 | 1.4.10-160000.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-24898 is a medium vulnerability (CVSS 6.3) in Rust-openssl, published February 2, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.68%, the 52nd percentile. Fixed in openssl 0.10.70.
References
github.com/sfackler/rust-openssl/security/advisories/GHSA-rpmj-rpgj-qmpm
github.com/sfackler/rust-openssl/pull/2360
crates.io/crates/openssl
lists.debian.org/debian-lts-announce/2025/02/msg00009.html
github.com/sfackler/rust-openssl/commit/f014afb230de4d77bc79dea60e7e58c2f47b60f2
rustsec.org/advisories/RUSTSEC-2025-0004.html
Show 64 moreShow less
nvd.nist.gov/vuln/detail/CVE-2025-24898
github.com/advisories/GHSA-rpmj-rpgj-qmpm
access.redhat.com/errata/RHSA-2025:7147
access.redhat.com/security/cve/CVE-2025-24898
bugzilla.redhat.com/2343573
errata.almalinux.org/9/ALSA-2025-7147.html
access.redhat.com/errata/RHSA-2025:7160
errata.almalinux.org/9/ALSA-2025-7160.html
access.redhat.com/errata/RHSA-2025:7241
errata.almalinux.org/9/ALSA-2025-7241.html
access.redhat.com/errata/RHSA-2025:7313
errata.almalinux.org/9/ALSA-2025-7313.html
access.redhat.com/errata/RHSA-2025:7317
errata.almalinux.org/9/ALSA-2025-7317.html
github.com/CVEProject/cvelistV5/tree/main/cves/2025/24xxx/CVE-2025-24898.json
security-tracker.debian.org/tracker/CVE-2025-24898
github.com/sfackler/rust-openssl
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-1120
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-1121
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3710
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3711
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3712
docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.6_release_notes/index
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2343573
issues.redhat.com/browse/RHEL-59716
issues.redhat.com/browse/RHEL-68131
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_7147.json
cve.org/CVERecord?id=CVE-2025-24898
issues.redhat.com/browse/RHEL-63018
issues.redhat.com/browse/RHEL-66258
issues.redhat.com/browse/RHEL-72862
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_7160.json
issues.redhat.com/browse/RHEL-71040
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_7241.json
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_7313.json
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_7317.json
errata.rockylinux.org/RLSA-2025:7160
errata.rockylinux.org/RLSA-2025:7241
errata.rockylinux.org/RLSA-2025:7313
errata.rockylinux.org/RLSA-2025:7317
suse.com/support/update/announcement/2026/suse-su-202623036-1
bugzilla.suse.com/1270198
bugzilla.suse.com/1270429
bugzilla.suse.com/1270470
bugzilla.suse.com/1270582
bugzilla.suse.com/1270683
bugzilla.suse.com/1270721
bugzilla.suse.com/1270831
bugzilla.suse.com/1270877
suse.com/security/cve/CVE-2025-24898
suse.com/security/cve/CVE-2026-41676
suse.com/security/cve/CVE-2026-41677
suse.com/security/cve/CVE-2026-41678
suse.com/security/cve/CVE-2026-41681
suse.com/security/cve/CVE-2026-41898
suse.com/security/cve/CVE-2026-42327
suse.com/security/cve/CVE-2026-44662
suse.com/support/update/announcement/2026/suse-su-202623070-1
ubuntu.com/security/CVE-2025-24898
ubuntu.com/security/notices/USN-7891-1
ubuntu.com/security/CVE-2023-53159
ubuntu.com/security/CVE-2025-3416
bugzilla.suse.com/1271911