CVE-2026-85783
Crypt::Age versions before 0.004 for Perl allow CPU exhaustion via an unbounded number of recipient stanzas, each costing an X25519 scalar multiplication in unwrap_file_key. The header parser accepts any number of recipient stanzas, and unwrap_file_key tries every identity against every X25519 stanza. Each attempt runs a scalar multiplication, an HKDF and a ChaCha20-Poly1305 open. The header MAC cannot be checked first, because its key comes from the file key, which only a successful unwrap produces. Each stanza is 98 bytes of attacker-chosen header and buys one scalar multiplication per identity held, and the file is rejected only after every one of them has run. A caller reaches this through decrypt, decrypt_file or decrypt_filehandle whenever it decrypts a file it did not write.
Properties
- Last source
- FIRST EPSS
- Nvd fetched at
- 2026-10-22T22:14:18.200859+00:00
- Epss score
- 0.00216
- Cve id
- CVE-2026-85783
- First seen by Signal
- 2026-10-21T22:34:38+00:00
- Retrieved at
- 2026-10-22T22:17:35+00:00
- Published at
- 2026-10-20T22:20:05.470
- Last modified
- 2026-10-22T17:21:57.293
- Epss percentile
- 0.11455
Related Entities (2)
HAS_WEAKNESS (2)
Explore deeper with Ninja Signal's threat intelligence graph