GHSA-q29p-9pfr-j652

Suggest an improvement
Source
https://github.com/advisories/GHSA-q29p-9pfr-j652
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-q29p-9pfr-j652/GHSA-q29p-9pfr-j652.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-q29p-9pfr-j652
Aliases
Downstream
Published
2026-03-26T17:59:34Z
Modified
2026-09-10T03:50:40Z
Severity
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
libcrux-sha3: Incorrect output from SHAKE squeeze functions
Details

The incremental squeeze functions in the portable SHAKE XOF API, when attempting to squeeze more than RATE (168 for SHAKE128, 136 for SHAKE256) bytes, performed an additional permutation of the state before producing the first output block, thus discarding the first block of RATE bytes of valid XOF output.

Impact

This bug impacts users that rely on this XOF API to squeeze more than RATE bytes. It does not impact the use of libcrux-sha3 in libcrux-ml-kem or libcrux-ml-dsa.

Mitigation

Starting from version 0.0.8 the squeeze functions correctly output all blocks including the first block.

Database specific
{
    "cwe_ids": [
        "CWE-682"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-03-26T17:59:34Z",
    "nvd_published_at": null,
    "severity": "HIGH"
}
References

Affected packages

crates.io / libcrux-sha3

Package

Name
libcrux-sha3
View open source insights on deps.dev
Purl
pkg:cargo/libcrux-sha3

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
0.0.8

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-q29p-9pfr-j652/GHSA-q29p-9pfr-j652.json"