Every CVE Search/ Get API key

CVE-2025-24898

rust openssl ssl::select_next_proto use after free

6.3 MediumFix available

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

0.68%Up 0.6 points since Feb 4, 2025
90%50%10%1%

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

https://github.com/sfackler/rust-openssl/pull/2360

Record
GHSA-rpmj-rpgj-qmpm
CVSS 4.0
6.3 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

https://github.com/sfackler/rust-openssl/pull/2360

Record
GHSA-rpmj-rpgj-qmpm
CVSS 4.0
6.3 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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_proto due to improper lifetime handling (bsc#1270429).
  • CVE-2026-41676: openssl: short buffer overflow via Deriver:derive and PkeyCtxRef:derive when 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_responders when 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:derive and PkeyCtxRef:derive can 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_proto due to improper lifetime handling (bsc#1270429).
  • CVE-2026-41676: openssl: short buffer overflow via Deriver:derive and PkeyCtxRef:derive when 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_responders when 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

Affected packages
PackageAffectedFixed
openssl
crates.io
0.10.0 up to 0.10.70
0.10.70
rpm-ostree
AlmaLinux:9
before 2025.5-1.el9
2025.5-1.el9
rpm-ostree-libs
AlmaLinux:9
before 2025.5-1.el9
2025.5-1.el9
bootc
AlmaLinux:9
before 1.1.6-3.el9_6
1.1.6-3.el9_6
system-reinstall-bootc
AlmaLinux:9
before 1.1.6-3.el9_6
1.1.6-3.el9_6
bootupd
AlmaLinux:9
before 0.2.27-3.el9
0.2.27-3.el9
keylime-agent-rust
AlmaLinux:9
before 0.2.2-2.el9
0.2.2-2.el9
python3.12-cryptography
AlmaLinux:9
before 41.0.7-2.el9
41.0.7-2.el9
389-ds-base
Azure Linux:3
through 3.1.1-12 None known
rust-openssl
Debian: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 less
0.10.72-10.10.73-10.10.78-10.10.79-10.10.81-1
None known
Show 43 moreShow less
Affected packages
PackageAffectedFixed
rust-openssl
Debian:13
before 0.10.70-1
0.10.70-1
rust-openssl
Debian:14
before 0.10.70-1
0.10.70-1
rust-openssl
Debian:11
before 0.10.29-1+deb11u1, plus listed versions
0.10.29-1
0.10.29-1+deb11u1
three-eight-nine-ds-base
openEuler:24.03-LTS
before 389-ds-base-3.1.1-5.oe2403
389-ds-base-3.1.1-5.oe2403
three-eight-nine-ds-base
openEuler:24.03-LTS-SP1
before 389-ds-base-3.1.1-5.oe2403sp1
389-ds-base-3.1.1-5.oe2403sp1
rpm-ostree
openEuler:22.03-LTS-SP4
before 2022.16-13.oe2203sp4
2022.16-13.oe2203sp4
rpm-ostree
openEuler:24.03-LTS-SP1
before 2024.4-9.oe2403sp1
2024.4-9.oe2403sp1
rpm-ostree
openEuler:24.03-LTS-SP3
before 2024.4-9.oe2403sp3
2024.4-9.oe2403sp3
rpm-ostree
Red Hat:enterprise_linux:9::appstream
before 0:2025.5-1.el9
0:2025.5-1.el9
rpm-ostree-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:2025.5-1.el9
0:2025.5-1.el9
rpm-ostree-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:2025.5-1.el9
0:2025.5-1.el9
rpm-ostree-libs
Red Hat:enterprise_linux:9::appstream
before 0:2025.5-1.el9
0:2025.5-1.el9
rpm-ostree-libs-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:2025.5-1.el9
0:2025.5-1.el9
bootc
Red Hat:enterprise_linux:9::appstream
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
bootc-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
bootc-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
system-reinstall-bootc
Red Hat:enterprise_linux:9::appstream
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
system-reinstall-bootc-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
bootupd
Red Hat:enterprise_linux:9::appstream
before 0:0.2.27-3.el9
0:0.2.27-3.el9
bootupd-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:0.2.27-3.el9
0:0.2.27-3.el9
rust-bootupd
Red Hat:enterprise_linux:9::appstream
before 0:0.2.27-3.el9
0:0.2.27-3.el9
rust-bootupd-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:0.2.27-3.el9
0:0.2.27-3.el9
keylime-agent-rust
Red Hat:enterprise_linux:9::appstream
before 0:0.2.2-2.el9
0:0.2.2-2.el9
keylime-agent-rust-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:0.2.2-2.el9
0:0.2.2-2.el9
keylime-agent-rust-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:0.2.2-2.el9
0:0.2.2-2.el9
python3.12-cryptography
Red Hat:enterprise_linux:9::appstream
before 0:41.0.7-2.el9
0:41.0.7-2.el9
python3.12-cryptography-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:41.0.7-2.el9
0:41.0.7-2.el9
python3.12-cryptography-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:41.0.7-2.el9
0:41.0.7-2.el9
bootc
Rocky Linux:9
before 0:1.1.6-3.el9_6
0:1.1.6-3.el9_6
rust-bootupd
Rocky Linux:9
before 0:0.2.27-3.el9
0:0.2.27-3.el9
keylime-agent-rust
Rocky Linux:9
before 0:0.2.2-2.el9
0:0.2.2-2.el9
python3.12-cryptography
Rocky Linux:9
before 0:41.0.7-2.el9
0:41.0.7-2.el9
openssl
crates.io
0.0.0-0 up to 0.10.70
0.10.70
libkrun
SUSE:Linux Micro 6.0
From an advisory covering 8 CVEs
before 1.4.10-2.1
1.4.10-2.1
libkrun
SUSE: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-openssl
Ubuntu: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-openssl
Ubuntu: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-openssl
Ubuntu: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-openssl
Ubuntu: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-openssl
Ubuntu: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-openssl
Ubuntu: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-cargo
openSUSE:Tumbleweed
before 4.5.0-2.1
4.5.0-2.1
libkrun
openSUSE:Leap 16.0
From an advisory covering 8 CVEs
before 1.4.10-160000.3.1
1.4.10-160000.3.1

History

History
RecordedChangedSources
affected
factsOSV
aliases, productsEUVD
first indexedCVE 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

Show 64 moreShow less
MoveEnter Open