{"answers":{"affected":"3 open source packages ship an affected version, including libcrux-ml-dsa.","exploited":"There is no known exploitation of GHSA-cp57-fq8g-qh6v in the wild and no public exploit code.","fix":"Upgrade libcrux-ml-dsa to 0.0.8 or later.","what":"GHSA-cp57-fq8g-qh6v is a vulnerability in libcrux-ml-dsa, published on 4 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for GHSA-cp57-fq8g-qh6v and fix it if it is affected.\n\nWhat it is: GHSA-cp57-fq8g-qh6v is a vulnerability in libcrux-ml-dsa, published on 4 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of GHSA-cp57-fq8g-qh6v in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- libcrux-ml-dsa (crates.io): affected all versions; fixed in 0.0.8\n- libcrux-ml-dsa (crates.io): affected all versions; fixed in 0.0.8\n- libcrux-ml-dsa (crates.io): affected from 0.0.0-0; fixed in 0.0.8\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/GHSA-cp57-fq8g-qh6v/ (Markdown: https://insights.sbomify.com/GHSA-cp57-fq8g-qh6v/index.md)","id":"GHSA-cp57-fq8g-qh6v","markdown":"https://insights.sbomify.com/GHSA-cp57-fq8g-qh6v/index.md","name":"GHSA-cp57-fq8g-qh6v","record":{"aliases":["RUSTSEC-2026-0077"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust ML-DSA library","requires_auth":"none","summary":"The library incorrectly verifies ML-DSA signatures, allowing attackers to bypass signature validation checks and accept invalid signatures.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The ML-DSA verification algorithm as specified in [FIPS 204,\nsubsection\n6.3](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf#subsection.6.3)\nrequires verifiers to check that the infinity norm of the deserialized\nsigner response $z$ does not exceed $\\gamma_1 - \\beta$ (line 13 of\nAlgorithm 8).\nThe same check is required to be performed during signature generation.\n\nlibcrux-ml-dsa did not perform this check correctly during signature\nverification, accepting signatures with signer response norm above the\nallowed maximum value.  The check is correctly performed during\nsigning.\n\n## Impact\nApplications using libcrux-ml-dsa for signature verification would\nhave accepted signatures that would be rejected by a conforming\nimplementation.\n\n## Mitigation\nStarting from version `0.0.8`, signature verification uses the correct\nvalue for $\\gamma_1$ in the signer response norm check.","ecosystems":["crates.io"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"Incorrect Check of Signer Response Norm During Verification","id":"GHSA-cp57-fq8g-qh6v","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":3,"n_references":null,"packages":[{"ecosystem":"crates.io","fixed":["0.0.8"],"introduced":["0"],"last_affected":[],"package":"libcrux-ml-dsa","purl":null,"source":"GHSA-cp57-fq8g-qh6v"},{"ecosystem":"crates.io","fixed":["0.0.8"],"introduced":["0"],"last_affected":[],"package":"libcrux-ml-dsa","purl":"pkg:cargo/libcrux-ml-dsa","source":"GHSA-cp57-fq8g-qh6v"},{"ecosystem":"crates.io","fixed":["0.0.8"],"introduced":["0.0.0-0"],"last_affected":[],"package":"libcrux-ml-dsa","purl":"pkg:cargo/libcrux-ml-dsa","source":"RUSTSEC-2026-0077"}],"products":null,"published":"2026-03-04","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"open","licence":"CC0 1.0","name":"RustSec","prefix":"RUSTSEC"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"The library incorrectly verifies ML-DSA signatures, allowing attackers to bypass signature validation checks and accept invalid signatures.","url":"https://insights.sbomify.com/GHSA-cp57-fq8g-qh6v/"}