CVE-2025-24898

NameCVE-2025-24898
Descriptionrust-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 crate`openssl` 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-4049-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
rust-openssl (PTS)bullseye0.10.29-1vulnerable
bullseye (security)0.10.29-1+deb11u1fixed
bookworm0.10.45-1vulnerable
sid, trixie0.10.70-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
rust-opensslsourcebullseye0.10.29-1+deb11u1DLA-4049-1
rust-opensslsource(unstable)0.10.70-1

Notes

https://rustsec.org/advisories/RUSTSEC-2025-0004.html
https://github.com/sfackler/rust-openssl/security/advisories/GHSA-rpmj-rpgj-qmpm
https://github.com/sfackler/rust-openssl/pull/2360
Fixed by: https://github.com/sfackler/rust-openssl/commit/f014afb230de4d77bc79dea60e7e58c2f47b60f2 (openssl-v0.10.70)

Search for package or bug name: Reporting problems