rust openssl ssl::select_next_proto use after free
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · Low
- Fix status
- Partial Red Hat: 1 fixed, 2 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| sfackler | rust-openssl | 0.10.0 to before 0.10.70 | 0.10.70 | Patch available | CNA |
| — | openssl (crates.io) | 0.10.0 to before 0.10.70 | 0.10.70 | Patch available | GHSA-rpmj-rpgj-qmpm |
- rust-openssl Vendorsfackler Affected 0.10.0 to before 0.10.70 Fixed in 0.10.70 Patch available CNA
- openssl (crates.io) Vendor— Affected 0.10.0 to before 0.10.70 Fixed in 0.10.70 Patch available GHSA-rpmj-rpgj-qmpm
Remediation
- Fix · CNA rust-openssl (sfackler) Fixed in 0.10.70
- Fix · GHSA-rpmj-rpgj-qmpm openssl (crates.io) Fixed in 0.10.70 Advisory →
Red Hat 5 advisories
- RHSA-2025:7313 Released 2025-05-13 · Red Hat rating Moderatekeylime-agent-rust security update
- Red Hat Enterprise Linux AppStream (v. 9) keylime-agent-rust-0.2.2-2.el9
- RHSA-2025:7317 Released 2025-05-13 · Red Hat rating Moderatepython3.12-cryptography security update
- Red Hat Enterprise Linux AppStream (v. 9) python3.12-cryptography-41.0.7-2.el9
- RHSA-2025:7160 Released 2025-05-13 · Red Hat rating Moderatebootc security update
- Red Hat Enterprise Linux AppStream (v. 9) bootc-1.1.6-3.el9_6, system-reinstall-bootc-1.1.6-3.el9_6
Show 2 more Red Hat advisories
- RHSA-2025:7241 Released 2025-05-13 · Red Hat rating Moderaterust-bootupd security update
- Red Hat Enterprise Linux AppStream (v. 9) bootupd-0.2.27-3.el9, rust-bootupd-0.2.27-3.el9
- RHSA-2025:7147 Released 2025-05-13 · Red Hat rating Moderaterpm-ostree security update
- Red Hat Enterprise Linux AppStream (v. 9) rpm-ostree-2025.5-1.el9, rpm-ostree-libs-2025.5-1.el9
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2025:7147, RHSA-2025:7160, RHSA-2025:7241, RHSA-2025:7313, RHSA-2025:7317 |
Not affected: 5 products
- Red Hat Directory Server 11
- Red Hat Directory Server 12
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2025-24898
- 2026-10-03 Alias added: GHSA-rpmj-rpgj-qmpm
References
Other 7
- https://github.com/sfackler/rust-openssl/security/advisories/GHSA-rpmj-rpgj-qmpm
- https://github.com/sfackler/rust-openssl/pull/2360
- https://crates.io/crates/openssl
- https://github.com/sfackler/rust-openssl/commit/f014afb230de4d77bc79dea60e7e58c2f47b60f2
- https://github.com/sfackler/rust-openssl
- https://lists.debian.org/debian-lts-announce/2025/02/msg00009.html
- https://rustsec.org/advisories/RUSTSEC-2025-0004.html
More sfackler vulnerabilities
- TI-2026-33521 rust-openssl: Potential out-of-bounds write in `CipherCtxRef::cipher_update_inplace` for AES-KW-PAD ciphers CVSS 4.0MEDIUM 5.1
- TI-2023-29455 The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty… CVSS 3.1MEDIUM 4.5
Sources
- CVE-2025-24898 · CVE Program
- CVE-2025-24898 · NVD
- FIRST EPSS
- GHSA-rpmj-rpgj-qmpm · GitHub Advisory Database · CC BY 4.0
- CVE-2025-24898 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences