CVE-2026-92091
MediumCVSS 5.9Exploitation Probability (EPSS)
Low risk41th percentile - higher than 41% of all known CVEs
Summary
In the jwcrypto library, the JWK.import_key() function validates the key_ops JWK member for duplicate values using an algorithm with O(n^2) time complexity, and the length of key_ops is not bounded. A remote, unauthenticated attacker can supply a JWK with a large key_ops array to an application that passes attacker-controlled key material to a public key-import API (reachable via ECDH-ES key agreement, OIDC dynamic client registration, DPoP, or ACME account key registration, among others) to consume excessive CPU time, resulting in a denial of service.
Risk Assessment
The risk is the possibility of a DoS attack on applications using jwcrypto, potentially leading to service unavailability for users.
Recommendation
It is recommended to upgrade the jwcrypto library to a patched version and to limit the length of the key_ops array in processed keys.
Other vulnerabilities in jwcrypto
See all- CVE-2026-84185Medium
In the jwcrypto library, used for implementing JOSE standards, there is a flaw where during verification of a General JSON Serialization JWS with a set of keys, the library fails to correctly identify the specific key ID (kid) and may accept a signature made by any valid key in the set. This can allow an attacker with a valid key to bypass authorization checks in applications that rely on the key ID to identify specific tenants or users.
- CVE-2026-80179Medium
A flaw was found in jwcrypto. A remote attacker can send a specially crafted JSON Web Encryption (JWE) token containing numerous period delimiters. This malformed token can force the JWE.deserialize() function to allocate excessive memory, leading to a MemoryError. This issue results in a denial of service (DoS) for services that process untrusted JWE values.
- CVE-2026-39373Medium
JWCrypto before 1.5.7 does not validate decompressed output size in JWE tokens with ZIP compression. An attacker can send a small token (under 250KB) that decompresses to about 100MB, causing server memory exhaustion.
Original NVD description (English source)
A flaw was found in jwcrypto. The JWK.import_key() function validates the key_ops JWK member for duplicate values using an algorithm with O(n^2) time complexity, and the length of key_ops is not bounded. A remote, unauthenticated attacker can supply a JWK with a large key_ops array to an application that passes attacker-controlled key material to a public key-import API (reachable via ECDH-ES key agreement, OIDC dynamic client registration, DPoP, or ACME account key registration, among others) to consume excessive CPU time, resulting in a denial of service.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

