{"id":"CVE-2026-49272","published":"2026-11-05T21:18:50.447","lastModified":"2026-11-05T22:18:44.593","description":"OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.3.0 until 4.0.1, OAuthLib's RFC 8628 device workflow does not require DeviceCodeGrant.validate_token_request to check that the device_code parameter is present and valid. A caller whose client request is accepted by the configured validator and who knows a valid client ID enabled for the device workflow can submit a missing or bogus device code to the token endpoint and obtain a bearer token without completing device authorization. This issue is fixed in version 4.0.1.","cvssScore":8.5,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N","cwes":["CWE-287"],"vendors":[],"products":[],"references":[{"url":"https://github.com/oauthlib/oauthlib/commit/77a5f1c8ce00da2b0b8c5f6e9cc129920085f114","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/pull/954","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/releases/tag/v4.0.1","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/security/advisories/GHSA-3jp2-3mrg-2vxc","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/security/advisories/GHSA-3jp2-3mrg-2vxc","tags":[]}],"exploitRefs":[{"url":"https://github.com/oauthlib/oauthlib/commit/77a5f1c8ce00da2b0b8c5f6e9cc129920085f114","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/pull/954","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/releases/tag/v4.0.1","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/security/advisories/GHSA-3jp2-3mrg-2vxc","tags":[]},{"url":"https://github.com/oauthlib/oauthlib/security/advisories/GHSA-3jp2-3mrg-2vxc","tags":[]}],"hasPoc":true,"ai":null}