CVE-2026-92091
Jwcrypto: jwcrypto: denial of service via o(n^2) duplicate check on unbounded jwk key_ops array
What happened?
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.
Affected software and versions
| Software | Version information | Fixed version |
|---|---|---|
| ansible-automation-platform-24/controller-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-24/lightspeed-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/controller-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/gateway-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/lightspeed-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/controller-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/gateway-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/lightspeed-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/gateway-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/lightspeed-rhel9Red Hat | Default status: affected | See vendor advisory |
| automation-controllerRed Hat | Default status: affected | See vendor advisory |
| python3.11-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| python3.12-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| python-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| python-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| idm:client/python-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| idm:DL1/python-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| python-jwcryptoRed Hat | Default status: affected | See vendor advisory |
| rhoai/odh-feature-server-rhel9Red Hat | Default status: affected | See vendor advisory |
| rhoai/odh-kserve-storage-initializer-rhel9Red Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-mistral-executorRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-nova-apiRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-nova-compute-ironicRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-novajoin-baseRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-novajoin-notifierRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-novajoin-serverRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-tempestRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel8/openstack-tripleoclientRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-nova-apiRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-nova-compute-ironicRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-novajoin-baseRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-novajoin-notifierRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-novajoin-serverRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-tempestRed Hat | Default status: affected | See vendor advisory |
| rhosp-rhel9/openstack-tripleoclientRed Hat | Default status: affected | See vendor advisory |
Version information comes from the source record and can include unaffected products and exceptions. Distribution packages may contain backported fixes: an older upstream version alone does not prove a server is affected.
Is it being exploited?
This CVE was not listed in the CISA catalogue at our last retrieval. This does not establish that exploitation is absent.
How to respond
- Confirm the product, installed package version, and any configuration requirements in the vendor advisory.
- Follow the vendor’s remediation or workaround guidance in the references below. Structured fixed-version data is unavailable here; the publisher’s description may include a fix or workaround.
- Restart affected services if required, then verify the running version. Known exploitation may warrant investigation as well as patching.