Hybrid Encapsulation from Seed Panics on Short Seed
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. # Impact Applications 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. # 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`.
- Products
- libcrux-kem
- Affected versions
- Not specified
- Fixed versions
- 0.0.10
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 03:38 UTC · Revision 1
Source evidence
Hybrid Encapsulation from Seed Panics on Short Seed
core-osv · Original sourcePublished 28 Sept 2026, 12:00 UTC
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. # Impact Applications 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. # 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`.
osv:RUSTSEC-2026-0330
libcrux-kem
Fixed versions: 0.0.10
Complete source record
{
"id": "6c93f1af5a26ed6558ee84361b9cd4c3a6d18e08269b3c2c7d509ebfbdb8d9d3",
"url": "https://osv.dev/vulnerability/RUSTSEC-2026-0330",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Hybrid Encapsulation from Seed Panics on Short Seed",
"summary": "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. # Impact Applications 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. # 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`.",
"evidence": "osv:RUSTSEC-2026-0330",
"products": [
{
"name": {
"value": "libcrux-kem",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "0.0.10",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "RUSTSEC-2026-0330",
"aliases": [
"RUSTSEC-2026-0330"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.0.0-0"
},
{
"fixed": "0.0.10"
}
]
}
],
"package": {
"name": "libcrux-kem",
"purl": "pkg:cargo/libcrux-kem",
"ecosystem": "crates.io"
},
"database_specific": {
"cvss": "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",
"source": "https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0330.json",
"categories": [],
"informational": null
},
"ecosystem_specific": {
"affects": {
"os": [],
"arch": [],
"functions": [
"libcrux_kem::PublicKey::encapsulate_derand"
]
},
"affected_functions": null
}
}
],
"modified": "2026-10-07T08:30:02.862241231Z",
"provider": "osv",
"references": [
"https://crates.io/crates/libcrux-kem",
"https://rustsec.org/advisories/RUSTSEC-2026-0330.html",
"https://github.com/celabshq/libcrux/pull/1595"
],
"provider_metadata": {
"license": "CC0-1.0"
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 94611,
"published_at": "2026-09-28T12:00:00+00:00"
}