CVE-2025-13470

7.5 HIGH

📋 TL;DR

A regression in RNP v0.18.0 causes public-key encrypted session keys to always be all-zero bytes, allowing anyone to decrypt data encrypted with public keys in this version. This fully compromises confidentiality of encrypted data. Only users of RNP v0.18.0 who encrypt data using public keys are affected.

💻 Affected Systems

Products:
  • RNP (Rising Network Privacy)
Versions: Version 0.18.0 only
Operating Systems: All platforms running RNP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects public-key encryption (PKESK packets). Passphrase-based encryption (SKESK packets) is safe. The vulnerability was introduced in a specific refactoring commit.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

All data encrypted with public keys in v0.18.0 can be decrypted by anyone without the private key, leading to complete data exposure.

🟠

Likely Case

Attackers who intercept or access encrypted data can decrypt it trivially, exposing sensitive information.

🟢

If Mitigated

If data was encrypted with passphrases (SKESK) or using different versions, impact is limited.

🌐 Internet-Facing: HIGH - Any encrypted data transmitted over networks using vulnerable version is completely exposed.
🏢 Internal Only: HIGH - Internal encrypted data using vulnerable version is equally exposed to internal attackers.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only supplying all-zero session key to decrypt any data encrypted with vulnerable version. No authentication or special access needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v0.18.1

Vendor Advisory: https://github.com/rnpgp/rnp/releases/tag/v0.18.1

Restart Required: No

Instructions:

1. Upgrade RNP to version 0.18.1 or later. 2. Re-encrypt any data that was encrypted with version 0.18.0 using public keys.

🔧 Temporary Workarounds

Use passphrase encryption

all

Temporarily use passphrase-based encryption (SKESK) instead of public-key encryption until patched

Downgrade to previous version

linux

Revert to RNP version 0.17.x or earlier

For Arch Linux: sudo pacman -U /var/cache/pacman/pkg/rnp-0.17.0-1-x86_64.pkg.tar.zst

🧯 If You Can't Patch

  • Re-encrypt all data that was encrypted with v0.18.0 using a different encryption tool or method
  • Isolate systems using v0.18.0 and restrict access to encrypted data

🔍 How to Verify

Check if Vulnerable:

Check RNP version: rnp --version. If output shows 0.18.0, system is vulnerable.

Check Version:

rnp --version

Verify Fix Applied:

After upgrade, verify version is 0.18.1 or later with rnp --version

📡 Detection & Monitoring

Log Indicators:

  • Failed decryption attempts with zero keys
  • Unusual successful decryption patterns

Network Indicators:

  • Interception of encrypted data followed by successful decryption without proper keys

SIEM Query:

process.name:"rnp" AND version:"0.18.0" OR decryption.success:true AND key.source:"zero"

🔗 References

📤 Share & Export