Skip to content
Fencer Intel
no cvss —

RUSTSEC-2026-0331 json

Panic on Decoding Short Hybrid Keys

published 2mo ago modified last mo.

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

The deserialization functions `X25519MlKem768Draft00PrivateKey::decode` `X25519MlKem768Draft00PublicKey::decode` and `XWingKemDraft06PublicKey::decode` would panic during an indexing operation when provided an input slice that is shorter than the length of the given key type, i.e. shorter than 2400 bytes in the case of the `X25519MlKem768Draft00` private key and shorter than 1184 bytes in the case of the `X25519MlKem768Draft` and `XWingKemDraft06` public keys.

# Impact

Applications decoding attacker provided slices into the above mentioned private and public key types could be made to panic.

# Mitigation

With release of version `0.0.10` of `libcrux-kem` this bug has been fixed and the serialization functions return `InvalidPrivateKey` and `InvalidPublicKey` errors on invalid input buffer lengths.

We recommend users upgrade to `libcrux-kem` version `0.0.10`.

Patch / fix

  • crates.io libcrux-kem 0.0.10

Is RUSTSEC-2026-0331 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 Fencer

Affected packages

ecosystem package affected fixed in
crates.io libcrux-kem
>=0.0.0-0, <0.0.10
0.0.10

References

Sources

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.