CVE-2026-49272: OAuthLib · Bearer token can be retrieved as long as client knows a valid client ID for device workflow
Affects ansible@13Source GCVE Database
Not known to be exploited · CVSS 8.5 High.
Data as of 3 Nov 2026, 04:34 UTC
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 28 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: 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 2 Nov 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewansible@13pkg:brew/ansible%4013Other threats | 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
As a mitigation, implementers should ensure that the device_code parameter is properly validated in the token endpoint according to RFC 8628 section 3.4. Specifically, OAuthLib's DeviceCodeGrant.validate_token_request method should be updated to validate the device_code, and a new validate_device_code method should be added to the RequestValidator interface. Additionally, public clients should be properly handled to prevent unauthorized token issuance. Until an official fix is available, avoid using OAuthLib's device workflow or apply custom validation to mitigate the risk.
Description
OAuthLib's implementation of the OAuth 2.0 device authorization grant (RFC 8628) contains a vulnerability where the token endpoint does not validate the device_code parameter. An attacker who knows a valid client ID for a public client configured for the device workflow can obtain a bearer token without a valid device_code. This occurs because the DeviceCodeGrant.validate_token_request method lacks proper validation of the device_code parameter, allowing unauthorized token issuance.