GHSA-hc3c-63hc-2r9f json
libcrux: Potential Panic on Overlong Ciphertext Buffer
published 7mo ago modified 5mo ago also RUSTSEC-2026-0124
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
An application that passes in a ciphertext buffer of length greater than `ptxt.len() + TAG_LEN` to `libcrux_chacha20poly1305::encrypt` or `libcrux_chacha20poly1305::xchacha20_poly1305::encrypt` would experience a panic.
## Impact An application where the length of the ciphertext buffer is under attacker control could be made to crash.
## Mitigation The fix makes it so that `libcrux_chacha20poly1305::encrypt` and `libcrux_chacha20poly1305::xchacha20_poly1305::encrypt` no longer panic in this case, but instead write out the ciphertext and tag into the first `ptxt.len() + TAG_LEN` bytes of the provided buffer.
Patch / fix
Is GHSA-hc3c-63hc-2r9f in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | libcrux-chacha20poly1305 | <0.0.8 >=0.0.0-0, <0.0.8 |
0.0.8 |
Classification
- Weakness
-
- CWE-120 Buffer Copy without Checking Size of Input
References
Sources
- GitHub Advisory GHSA-hc3c-63hc-2r9f
- OSV RUSTSEC-2026-0124
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.