CVE-2025-13470

RNP 0.18.0 Vulnerable PKESK session keys

Published Nov 21, 2025 CVSS 4.0 · 7.7 High EPSS < 1% KEV · Not listed
Description
In RNP version 0.18.0 a refactoring regression causes the symmetric
session key used for Public-Key Encrypted Session Key (PKESK) packets to
be left uninitialized except for zeroing, resulting in it always being
an all-zero byte array.

Any data encrypted using public-key encryption
in this release can be decrypted trivially by supplying an all-zero
session key, fully compromising confidentiality.

The vulnerability affects only public key encryption (PKESK packets).  Passphrase-based encryption (SKESK packets) is not affected.

Root cause: Vulnerable session key buffer used in PKESK packet generation.



The defect was introduced in commit `7bd9a8dc356aae756b40755be76d36205b6b161a` where initialization
logic inside `encrypted_build_skesk()` only randomized the key for the
SKESK path and omitted it for the PKESK path.

Remediation

Vendor Solution

For standalone RNP users: Upgrade to RNP 0.18.1 when available. For distributions that have packaged 0.18.0: Please update to 0.18.1 when released, or consider providing 0.17.1 as an interim option. For Thunderbird packages using system RNP: If your Thunderbird package is built with system RNP support and RNP 0.18.0 is installed, update RNP to 0.18.1 or 0.17.1. Consider whether Thunderbird should continue using system RNP or switch to bundled RNP. For all other users: Users who encrypted sensitive data using RNP 0.18.0 (standalone or via Thunderbird with system RNP 0.18.0) should re-encrypt that data with RNP 0.18.1 or 0.17.1 based on their security requirements.


Vendor Workaround

No workaround.  All PKESK-encrypted ciphertext produced with 0.18.0 is compromised.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Ribose
Ribose rnp
Vendors & Products Ribose
Ribose rnp
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description In RNP version 0.18.0 a refactoring regression causes the symmetric session key used for Public-Key Encrypted Session Key (PKESK) packets to be left uninitialized except for zeroing, resulting in it always being an all-zero byte array. Any data encrypted using public-key encryption in this release can be decrypted trivially by supplying an all-zero session key, fully compromising confidentiality. The vulnerability affects only public key encryption (PKESK packets).  Passphrase-based encryption (SKESK packets) is not affected. Root cause: Vulnerable session key buffer used in PKESK packet generation. The defect was introduced in commit `7bd9a8dc356aae756b40755be76d36205b6b161a` where initialization logic inside `encrypted_build_skesk()` only randomized the key for the SKESK path and omitted it for the PKESK path.
Title RNP 0.18.0 Vulnerable PKESK session keys
Weaknesses CWE-330
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/AU:Y/RE:H/U:Red'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Ribose
Published
Updated
Nov 21, 2025, 5:35 PM
Reserved
Nov 20, 2025, 8:36 AM
Status
Deferred
Published
Nov 21, 2025, 5:15 PM
Modified
Oct 8, 2026, 10:10 AM
Severity
Important
Public date
Nov 21, 2025, 5:05 PM