CVE-2026-49265 json
OAuthLib: Timing Attack Vulnerability in PKCE code_verifier Comparison
published last mo. modified 26d ago also EUVD-2026-98833 , GHSA-xpv3-w29h-x7cv , PYSEC-2026-4114
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 15%
- public exploits
- 0
- none known
Summary
OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.0.0 until 4.0.0, OAuthLib's PKCE checks in oauthlib/oauth2/rfc6749/grant_types/authorization_code.py compare attacker-supplied code_verifier values with stored challenges using ordinary string equality in code_challenge_method_plain and code_challenge_method_s256. Because the comparison can return after a length difference or the first mismatching character, repeated token endpoint measurements can reveal common-prefix timing information that could potentially allow recovery of the code_verifier, unauthorized access-token acquisition, and account takeover. Practical exploitation requires an intercepted, single-use authorization code and enough measurements to overcome real-world network noise; the local timing benchmark does not establish practical remote account takeover, so the weakness remains a defense-in-depth concern. This issue is fixed in version 4.0.0.
Patch / fix
- pypi oauthlib 4.0.0
- oauthlib_project oauthlib 4.0.0
- python-oauthlib SLE Module for Python 3 15 SP7, SLE Module for Public Cloud 15 SP4 3.2.2-150400.12.10.1
- python-oauthlib SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 3.2.2-160000.3.1
- python-oauthlib Linux Micro 6.0 3.2.2-159998.1.1
suse advisories SUSE-SU-2026:4810-1SUSE-SU-2026:24189-1SUSE-SU-2026:24246-1SUSE-SU-2026:24139-1
- python-oauthlib openSUSE Leap 16.0 3.2.2-160000.3.1
opensuse advisories openSUSE-SU-2026:22103-1
- python-oauthlib Azure Linux 3.0 3.2.2-4
azure linux advisories AZL-108045
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/oauthlib/oauthlib@74664d3 commit
- github.com/oauthlib/oauthlib@40b0ab5 commit
- github.com/oauthlib/oauthlib#963 pull request
- github.com/oauthlib/oauthlib/releases/tag/v4.0.0 release
Is CVE-2026-49265 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-49265 updated cvss 6.8
oauthlib: oauthlib: Timing attack vulnerability in PKCE code_verifier/code_challenge comparison allows authorization code recovery
-
Red Hat Confidential Compute Attestation openshift-sandboxed-containers/osc-podvm-builder-rhel9 Red Hat Fence Agents Remediation Operator workload-availability/fence-agents-remediation-rhel9-operator Red Hat Lightspeed Core lightspeed-core/lightspeed-stack-rhel9 Red Hat Lightspeed Services for Advanced Cluster Management lightspeed-services-acm/ocp-rules-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-rhel9-operator Red Hat Migration Toolkit for Containers rhmtc/openshift-migration-rhel8-operatoraffected: workaround, no fix available “Fix deferred”
+24 more productsfewer
Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-rhel9-operator Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-service-api-rhel9, openshift-lightspeed/lightspeed-agentic-sandbox-rhel9, openshift-lightspeed/lightspeed-to-dataverse-exporter-rhel9 Red Hat OpenShift Service Mesh 3 openshift-service-mesh/kiali-rhel9-operator Red Hat Pen Drive Powered by Red Hat Lightspeed pen-drive/pen-drive-scanner-rhel9 Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/volsync-rhel9, rhacm2/volsync-operator-bundle Red Hat AI Inference Server rhaiis/vllm-cpu-rhel9, rhaiis/vllm-tpu-rhel9, rhaiis/vllm-cuda-rhel9 Red Hat Ansible Automation Platform 2 python-oauthlib 3.1.1-2.el8pc, python3.11-oauthlib 3.2.2-1.el9ap, python3.12-oauthlib 3.2.2-2.el9ap, automation-controller 4.7.17-1.el9ap, ansible-automation-platform-24/hub-rhel8, ansible-automation-platform-25/hub-rhel8, +47 more Red Hat Ceph Storage 7 rhceph/rhceph-7-rhel9 Red Hat Ceph Storage 8 rhceph/rhceph-8-rhel9 Red Hat Ceph Storage 9 rhceph/rhceph-9-rhel9 Red Hat Discovery 2 discovery/discovery-server-rhel9 Red Hat Enterprise Linux 8 fence-agents, fence-agents-all, fence-agents-apc, fence-agents-aws, fence-agents-eps, fence-agents-gce, +43 more Red Hat Enterprise Linux 9 fence-virt, fence-virtd, fence-agents, fence-virtd-cpg, fence-virtd-tcp, fence-agents-all, +52 more Red Hat Enterprise Linux 10 python-oauthlib 3.1.1-2.el8pc Red Hat OpenShift AI (RHOAI) rhoai/rhai-cli-rhel9, rhoai/odh-automl-rhel9, rhoai/odh-mlflow-rhel9, rhoai/odh-autorag-rhel9, rhoai/odh-kserve-agent-rhel9, rhoai/odh-kserve-router-rhel9, +31 more Red Hat OpenShift Container Platform 4 python-oauthlib 3.1.1-2.el8pc, openshift4/ose-ansible-rhel9-operator Red Hat OpenShift Container Platform 5 openshift5/ose-ansible-rhel9-operator Red Hat OpenShift Virtualization 4 container-native-virtualization/ocp-virt-validation-checkup-rhel9 Red Hat OpenStack Platform 17.1 rhosp-rhel9/openstack-keystone, rhosp-rhel9/openstack-cinder-api Red Hat OpenStack Platform 18.0 rhoso/openstack-keystone-rhel9, rhoso/openstack-cinder-api-rhel9 Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9 Red Hat Satellite 6 satellite/iop-advisor-backend-rhel9 Red Hat Self-service automation portal 2 ansible-automation-platform/bootc-automation-portal-rhel9 Red Hat Service Telemetry Framework 1.5 stf/smart-gateway-rhel9-operator, stf/service-telemetry-rhel9-operator -
Red Hat AI Inference Server 3.5 rhaii/vllm-cpu-rhel9 1791473614, rhaii/vllm-cuda-rhel9 1791473631fixed: vendor fix RHSA-2026:82415
-
Red Hat Enterprise Linux AI 3.5 rhelai3/bootc-cuda-rhel9 1793135861, rhelai3/bootc-aws-cuda-rhel9 1793194817, rhelai3/bootc-gcp-cuda-rhel9 1793194815, rhelai3/disk-image-cuda-rhel9 1793206758, rhelai3/bootc-azure-cuda-rhel9 1793194815fixed: vendor fix RHSA-2026:92452
-
Red Hat Ceph Storage 4 rhceph/rhceph-4-rhel8 Red Hat Enterprise Linux 8 python3-oauthlib Red Hat Enterprise Linux AI 3.5 rhelai3/bootc-rocm-rhel9 1793135863, rhelai3/bootc-azure-rocm-rhel9 1793194834 Red Hat Lightspeed Services for OCP lightspeed-services-ocp/ocp-rules-rhel9 Red Hat OpenShift Container Platform 4 openshift4/ose-ansible-operator Red Hat OpenStack Platform 16.2 rhosp-rhel8/openstack-tempest, rhosp-rhel8/openstack-keystone, rhosp-rhel8/openstack-cinder-api, rhosp-rhel8/openstack-mistral-api, rhosp-rhel8/openstack-mistral-base, rhosp-rhel8/openstack-mistral-engine, +2 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 29d ago
Exploit prediction
0.24% chance of exploitation in the next 30 days, higher than 15% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | oauthlib | >=3.0.0, <4.0.0 |
4.0.0 |
Affected products
- oauthlib oauthlib
Classification
- Weakness
-
- CWE-208 Observable Timing Discrepancy
References
-
github.com
/oauthlib/oauthlib/pull/963
web
- github.com /oauthlib/oauthlib/commit/74664d3fe037a354e180e305135c6bab1747a6b0
-
github.com
/oauthlib/oauthlib/commit/40b0ab56da3682c2484a4b78bbff309f8025d950
web
-
github.com
/oauthlib/oauthlib/security/advisories/GHSA-xpv3-w29h-x7cv
web, advisory
- github.com /oauthlib/oauthlib/releases/tag/v4.0.0
-
github.com
/pypa/advisory-database/tree/main/vulns/oauthlib/PYSEC-2026-4114.yaml
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-49265
advisory
-
github.com
/oauthlib/oauthlib
package
-
pypi.org
/project/oauthlib
package
-
github.com
/advisories/GHSA-xpv3-w29h-x7cv
advisory
Sources
- CVE List CVE-2026-49265
- GitHub Advisory GHSA-xpv3-w29h-x7cv
- NVD CVE-2026-49265
- OSV PYSEC-2026-4114
- Maintainer advisory GHSA-xpv3-w29h-x7cv
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of oauthlib/oauthlib published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.