Vulnerability HighRUSTSEC-2026-0069 · hpke-rs
RUSTSEC-2026-0069: Incorrect Length Encoding on KDF Export
Short answerA security vulnerability in the hpke-rs crate: Incorrect Length Encoding on KDF Export. GitHub rates it High. Fixed in 0.6.0: update to a fixed version.
| Crate | hpke-rs |
|---|---|
| Type | Vulnerability |
| Affected versions | Before 0.6.0. |
| Fixed in | 0.6.0 |
| Severity | High (GitHub rating) |
| Published | 2026-02-11 |
| Last changed | 2026-03-24 |
| Also known as | GHSA-g433-pq76-6cmf, RUSTSEC-2026-0070, RUSTSEC-2026-0071, RUSTSEC-2026-0072 |
| Affected functions | hpke_rs::Context::export |
What to do
- See which version you have:
cargo tree -i hpke-rs(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p hpke-rs. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplehpke-rs = "0.6.0") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
Passing values length > 65535 to Context::export produces output that disagrees with the RFC 9180 label encoding. In particular the length value is cast to u16 truncating any value exceeding 65535.
Impact
Applications that use hpke-rs to export very large secrets would experience interoperability issues with other applications that use a correct implementation to export very large secrets.
Mitigation
Starting with version 0.6.0, an error will be returned when attempting to call Context::export with an output length > 65535.
References
- Package: crates.io/crates/hpke-rs
- Advisory: rustsec.org/advisories/RUSTSEC-2026-0069.html
- Web: github.com/cryspen/hpke-rs/pull/128
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for hpke-rs
Up next
Same cratehpke-rs: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?