GitHub Advisoryadvisory · crates.io

GHSA-9rmp-2568-59rv rPGP Panics on Malformed Untrusted Input

HIGH Published 2024-12-05 Modified 2025-12-26 Official page ↗
Aliases
CVE-2024-53856
Ecosystem
crates.io
Packages
pgp
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-130, CWE-248, CWE-617
Reviewed
2024-12-05

Affected packages

• crates.io pgp: < 0.14.1 → fixed in 0.14.1

Description

During a security audit, Radically Open Security discovered several reachable edge cases which allow an attacker to trigger `rpgp` crashes by providing crafted data. Impact When processing malformed input, `rpgp` can run into Rust panics which halt the program. This can happen in the following scenarios: • Parsing OpenPGP messages from binary or armor format • Decrypting OpenPGP messages via `decrypt_with_password()` • Parsing or converting public keys • Parsing signed cleartext messages from armor format • Using malformed private keys to sign or encrypt Given the affected components, we consider most attack vectors to be reachable by remote attackers during typical use cases of the `rpgp` library. The attack complexity is low since the malformed messages are generic, short, and require no victim-specific knowledge. The result is a denial-of-service impact via program termination. There is no impact to confidentiality or integrity security properties. Versions and Patches All recent versions are affected by at least some of the above mentioned issues. The vulnerabilities have been fixed with version `0.14.1`. We recommend all users to upgrade to this version. References The security audit was made possible by the NLnet Foundation NGI Zero Core grant program for rpgp.

Related

Alias · CVE (1)

  • CVE-2024-53856 rPGP is a pure Rust implementation of OpenPGP. vulnerability

Weakness · CWE (3)

  • CWE-130 Improper Handling of Length Parameter Inconsistency weakness
  • CWE-248 Uncaught Exception weakness
  • CWE-617 Reachable Assertion weakness

References