# CVE-2026-92091: Jwcrypto: jwcrypto: denial of service via o(n^2) duplicate check on unbounded jwk key_ops array

Status: published. Published: 2026-09-16. Updated: 2026-11-06.

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.

## Remediation

- workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability. (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-24/controller-rhel8): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-24/lightspeed-rhel8): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-25/controller-rhel8): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-25/gateway-rhel8): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-25/lightspeed-rhel8): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-26/controller-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-26/gateway-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-26/lightspeed-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-27/gateway-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (ansible-automation-platform-27/lightspeed-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (automation-controller): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (python3.11-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Ansible Automation Platform 2 (python3.12-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 10 (python-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 7 (python-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 8 (idm:client/python-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 8 (idm:DL1/python-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 9 (python-jwcrypto): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenShift AI (RHOAI) (rhoai/odh-feature-server-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenShift AI (RHOAI) (rhoai/odh-kserve-storage-initializer-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-mistral-executor): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-nova-api): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-nova-compute-ironic): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-novajoin-base): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-novajoin-notifier): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-novajoin-server): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-tempest): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 16.2 (rhosp-rhel8/openstack-tripleoclient): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-nova-api): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-nova-compute-ironic): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-novajoin-base): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-novajoin-notifier): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-novajoin-server): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-tempest): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat OpenStack Platform 17.1 (rhosp-rhel9/openstack-tripleoclient): Version range not reported. Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 5.9 (medium); CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H; source: CNA: redhat

- CISA KEV: No listing in collected sources

- EPSS: 0.57% as of 2026-11-05; percentile 47.27%

- SSVC: exploitation poc; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-407

## Exploit evidence

- exploit: https://github.com/latchset/jwcrypto/security/advisories/GHSA-pwgw-f7xr-863h (ADP: CISA-ADP)

## References

- https://access.redhat.com/security/cve/CVE-2026-92091 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2533849 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

- https://github.com/latchset/jwcrypto/security/advisories/GHSA-pwgw-f7xr-863h (CNA: redhat)

- https://github.com/latchset/jwcrypto/security/advisories/GHSA-pwgw-f7xr-863h (ADP: CISA-ADP; exploit)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-92091; retrieved 2026-11-06; source updated 2026-11-06

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-92091; retrieved 2026-11-06; source updated Not reported

Revision: b82bb1e0b67d67fab8d2641c81f2e6c448f9145cb941097dbed0a0736d22a5c2

Canonical: https://y2.dev/cve/CVE-2026-92091

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.