Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend malformed ciphertext to libcrux-psq endpoint
-
DeliveryAEAD decryption fails internally
-
ExploitLibrary panics instead of returning error
-
ExecutionProcess aborts
-
ImpactService denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | For the libcrux-psq panic (denial of service): the target application must use the libcrux-psq crate for AEAD-protected session key exchange, and the attacker must be able to deliver a malformed or unauthenticated ciphertext to the decryption path - no authentication or session establishment required, making this exploitable by any network-reachable party against exposed services. For the libcrux-ecdh clamping defect: exploitation requires either importing an externally-supplied X25519 key (e.g., from a peer in a key exchange protocol) or relying on the library's key validation to reject invalid inputs - previously the library silently accepted non-canonical keys. For the libcrux-ed25519 key-generation bug: exploitation requires that key pairs were generated with the affected library version; the resulting keys may have non-standard properties but the practical cryptographic impact depends on the downstream protocol. Limiting factors: only Rust applications explicitly depending on these specific libcrux crates are affected; the broader ecosystem (applications using ring, RustCrypto, or other crypto backends) is not impacted. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) is primarily driven by the libcrux-psq panic path, which can be triggered remotely without authentication by supplying a malformed or unauthenticated ciphertext - any network-exposed application using libcrux-psq for session establishment is vulnerable to process-level denial of service. The clamping defects in libcrux-ecdh and libcrux-ed25519 carry a subtler but potentially higher-impact risk: accepting or generating improperly clamped X25519 keys can undermine the security guarantees of key exchange sessions, and a duplicated clamping step during Ed25519 key generation can silently produce non-standard key material. The assigned vector records no confidentiality or integrity impact (VC:N/VI:N), which likely underestimates the key-material integrity risk - this should be verified against vendor clarification. No EPSS data was provided and no KEV listing exists, indicating no confirmed widespread exploitation. No public exploit code has been identified. The net real-world priority is high for any application that directly handles untrusted ciphertexts via libcrux-psq (crash risk is immediate and unauthenticated) and moderate-to-high for applications relying on libcrux-ecdh key import or libcrux-ed25519 key generation for long-lived cryptographic identities (key-material correctness risk is silent and potentially persistent). |
| Exploit ScenarioDerived | A remote attacker sends a crafted or randomly invalid ciphertext to a service using libcrux-psq for post-quantum session establishment. The library attempts AEAD decryption, encounters an authentication failure, and instead of returning an error to the caller, panics - aborting the process and causing a denial of service for all users of that service. No authentication or special session state is required. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Multiple cryptographic implementation defects in the libcrux Rust crates - libcrux-ecdh, libcrux-ed25519, and libcrux-psq - expose applications to availability failures and potential key-material weaknesses. libcrux-ecdh omitted length validation and clamping enforcement on X25519 secret inputs (including a broken clamping check for imported keys), libcrux-ed25519 applied a duplicated clamping step during key generation that could silently corrupt key material, and libcrux-psq panicked on AEAD decryption errors instead of returning them to callers. Vendor-released patch versions 0.0.6 (ecdh, ed25519) and 0.0.7 (psq) resolve all three defects; no public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade libcrux-ecdh and libcrux-ed25519 to version 0.0.6, and libcrux-psq to version 0.0.7 - these are the vendor-confirmed fixed releases per the GitHub Security Advisory GHSA-435g-fcv3-8j26 and upstream pull requests #1301, #1319, and #1320. The upgrade to libcrux-ecdh 0.0.6 is a breaking change: the library now raises errors on unclamped X25519 secrets or inputs of incorrect length, so callers must handle the new error paths rather than silently proceeding. If an immediate upgrade is not possible, applications using libcrux-psq should wrap AEAD decryption calls in explicit error handling at the application layer to catch panics (e.g., via std::panic::catch_unwind in Rust), accepting the trade-off that this does not resolve the underlying library defect. Applications relying on libcrux-ecdh for key import should refuse to import externally-supplied X25519 keys until patched, to avoid processing non-canonical key material. No compensating control exists for the libcrux-ed25519 key-generation clamping defect short of regenerating affected key pairs after upgrading.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in cargo, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libcrux is a formally-verified cryptographic library written in Rust, developed by Cryspen (celabshq on crates.io). The three affected crates implement X25519 Diffie-Hellman key exchange (libcrux-ecdh), Ed25519 digital signatures (libcrux-ed25519), and a post-quantum session key protocol (libcrux-psq). X25519 requires private keys to be 'clamped' - specific bits must be set or cleared before scalar multiplication to ensure the key falls within the valid group; failure to enforce this allows use of non-canonical private keys that can weaken the key exchange. Ed25519 key generation applying clamping twice can produce unexpected key material that diverges from the standard derivation path. The libcrux-psq panic on AEADError is a Rust unwrap/panic issue that converts an authenticated-decryption failure - a normal, expected error in any application handling untrusted ciphertexts - into a process abort, causing denial of service. CWE-347 (Improper Verification of Cryptographic Signature) is the assigned root-cause class; the clamping and validation gaps are more precisely key-validation failures upstream of signature or key-agreement operations, but the classification is defensible given the trust-chain implications.
Know when Libcrux gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Psq panic is network-triggerable with no auth (PR:N, AV:N, A:H); clamping defects introduce integrity risk (I:L) not captured in the provided vector.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
libcrux-ecdh and libcrux-ed25519 before 0.0.6, and libcrux-psq before 0.0.7, contain cryptographic implementation bugs. libcrux-ecdh did not properly check length and clamping during X25519 secret validation (and had a broken clamping check for imported X25519 secret keys); libcrux-ed25519 performed a duplicated clamping step during key generation; and libcrux-psq panicked instead of propagating an AEADError. These were fixed in the respective patched releases.
Executive ViewAI
Cryptographic implementation defects in libcrux Rust crates (ecdh, ed25519, psq) create dual risks: potential compromise of cryptographic key material and availability failures in applications using these libraries. Organizations employing these crates must rapidly identify exposure and patch to prevent data security breaches and service disruptions.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-62475
GHSA-xp2x-phr3-m4r9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB