{"answers":{"affected":"3 open source packages ship an affected version, including libcrux-ed25519.","exploited":"There is no known exploitation of GHSA-434v-x5qv-pmh6 in the wild and no public exploit code.","fix":"Upgrade libcrux-ed25519 to 0.0.7 or later.","what":"GHSA-434v-x5qv-pmh6 is a vulnerability in libcrux-ed25519, 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-434v-x5qv-pmh6 and fix it if it is affected.\n\nWhat it is: GHSA-434v-x5qv-pmh6 is a vulnerability in libcrux-ed25519, 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-434v-x5qv-pmh6 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- libcrux-ed25519 (crates.io): affected all versions; fixed in 0.0.7\n- libcrux-ed25519 (crates.io): affected all versions; fixed in 0.0.7\n- libcrux-ed25519 (crates.io): affected from 0.0.0-0; fixed in 0.0.7\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-434v-x5qv-pmh6/ (Markdown: https://insights.sbomify.com/GHSA-434v-x5qv-pmh6/index.md)","id":"GHSA-434v-x5qv-pmh6","markdown":"https://insights.sbomify.com/GHSA-434v-x5qv-pmh6/index.md","name":"GHSA-434v-x5qv-pmh6","record":{"aliases":["RUSTSEC-2026-0075"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass","data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust Ed25519 library","requires_auth":"none","summary":"A flaw in libcrux-ed25519 allows signature forgery if the CSPRNG fails, generating an all-zero key instead of erroring.","user_interaction":"not_required","vuln_class":"weak_cryptography"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The libcrux-ed25519 key generation samples Ed25519 secret keys from a\nprovided CSPRNG in a loop for up to 100 attempts until a non-zero key\nis found.  If a non-zero key could not be sampled within 100 attempts\nthe key generation function would silently continue with an all-zero buffer as\nthe secret key.\n\n## Impact\nThis bug only occurs in the event of a catastrophic failure of the\nCSPRNG, but would allow anyone to forge signatures under the resulting\nstatic signing key.\n\n## Mitigation\nInstead of silently continuing with an all-zero signing key, starting\nfrom version `0.0.7` key generation will error in the case of 100\nfailed attempts at sampling a valid key.","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":"All-Zero Key Generation on Catastrophic RNG Failure","id":"GHSA-434v-x5qv-pmh6","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"weak_cryptography","year":"2026"},"n_packages":3,"n_references":null,"packages":[{"ecosystem":"crates.io","fixed":["0.0.7"],"introduced":["0"],"last_affected":[],"package":"libcrux-ed25519","purl":null,"source":"GHSA-434v-x5qv-pmh6"},{"ecosystem":"crates.io","fixed":["0.0.7"],"introduced":["0"],"last_affected":[],"package":"libcrux-ed25519","purl":"pkg:cargo/libcrux-ed25519","source":"GHSA-434v-x5qv-pmh6"},{"ecosystem":"crates.io","fixed":["0.0.7"],"introduced":["0.0.0-0"],"last_affected":[],"package":"libcrux-ed25519","purl":"pkg:cargo/libcrux-ed25519","source":"RUSTSEC-2026-0075"}],"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":"A flaw in libcrux-ed25519 allows signature forgery if the CSPRNG fails, generating an all-zero key instead of erroring.","url":"https://insights.sbomify.com/GHSA-434v-x5qv-pmh6/"}