{"id":"RUSTSEC-2026-0330","revision":"5ef62b6cdf6a47eda6c06bc90aa8c776","records":[{"revision":"5ef62b6cdf6a47eda6c06bc90aa8c776","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"RUSTSEC-2026-0330","aliases":[],"title":"Hybrid Encapsulation from Seed Panics on Short Seed","description":"For a hybrid KEM public key of type `PublicKey::WingKemDraft06` or `PublicKey::X25519MlKem768Draft06`, the `PublicKey::encapsulate_derand` function would panic in an indexing operation on a seed input of length shorter than 32 bytes.\n\n# Impact\n\nApplications encapsulating with an attacker controlled seed value could be made to panic. Since the encapsulation seed should be considered a secret of the encapsulating party for the KEM to remain secure, an application should never take the seed value from a potentially attacker controlled source.\n\n# Mitigation\n\nWith 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.\n\nWe recommend users upgrade to `libcrux-kem` version `0.0.10`.","state":0,"publishedAt":"2026-09-28T12:00:00+00:00","modifiedAt":"2026-10-07T08:30:02.8622412+00:00","affected":[{"ecosystem":"crates.io","name":"libcrux-kem","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.0.0-0"},{"kind":"fixed","version":"0.0.10"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","score":null,"severity":null}],"references":["https://crates.io/crates/libcrux-kem","https://rustsec.org/advisories/RUSTSEC-2026-0330.html","https://github.com/celabshq/libcrux/pull/1595"],"sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2026-0330","license":"OSV · upstream source license applies","key":"osv:RUSTSEC-2026-0330","identifiers":["RUSTSEC-2026-0330"]},"retained":false,"historicalAffected":[]}],"coverage":[]}