CVE-2026-49272: OAuthLib · Bearer token can be retrieved as long as client knows a valid client ID for device workflow
Affects oauthlibSource GCVE Database
Not known to be exploited · CVSS 8.5 High : upgrade to 4.0.0 soon.
Data as of 27 Oct 2026, 14:41 UTC
- Patch
- Available – fixed in 4.0.0
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 27 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade oauthlib to 4.0.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIoauthlib | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade OAuthLib to version 4.0.0 or later, where this vulnerability is fixed by adding proper validation of the device_code parameter in the device code grant flow. Until upgraded, ensure that the RequestValidator implementation properly validates device_code parameters and does not authenticate clients solely based on client_type without additional checks. No other mitigations are documented.
Description
OAuthLib versions from 3.3.0 up to but not including 4.0.0 contain a vulnerability in the device code grant workflow (RFC 8628). The token endpoint does not properly validate the device_code parameter, allowing an attacker who knows a valid client ID for a public client configured for device workflow to obtain a bearer token without a valid device_code. This flaw arises because the DeviceCodeGrant.validate_token_request method lacks proper device_code validation. The issue is fixed in version 4.0.0.