CVE-2026-49272
waiting for further signalsZero needs more public information before it can validate it.description
OAuthlib deployments using the RFC 8628 device authorization grant are affected. An attacker who knows an enabled device-flow client ID may obtain a bearer token without a valid device code when the token endpoint accepts the relevant client authentication.
mitigation
Upgrade the oauthlib package to version 4.0.0. Until upgraded, disable or tightly restrict device authorization grant processing where feasible.
fixed in 4.0.0
outcome
Contextual, not validated: no deterministic check could cover this one, and no technique passed our review.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-27 13:30Zghsa: trigger signal, started the run
- 2026-10-27 13:30Z
this entry in the feed
GET /api/v1/feed/CVE-2026-49272
{ "etk_id": "ETK-2026-2766", "cve_id": "CVE-2026-49272", "display_id": "CVE-2026-49272", "ghsa_id": "GHSA-3jp2-3mrg-2vxc", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "OAuthlib device-code grant token validation bypass", "summary": "OAuthlib deployments using the RFC 8628 device authorization grant are affected. An attacker who knows an enabled device-flow client ID may obtain a bearer token without a valid device code when the token endpoint accepts the relevant client authentication.", "mitigation": "Upgrade the oauthlib package to version 4.0.0. Until upgraded, disable or tightly restrict device authorization grant processing where feasible.", "vendor": "pip", "product": "pip:oauthlib", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 3.3.0, < 4.0.0" ], "ecosystem": "pip", "fixed_versions": [ "4.0.0" ], "package_name": "oauthlib", "purl": "pkg:pypi/oauthlib" } ], "cwes": null, "cvss_score": 8.5, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 17.4530276, "t0_at": null, "signals": { "public_poc": { "at": "2026-10-27T13:30:17+00:00", "days": -0.2330538488310185, "is_lower_bound": true, "measured_at": "2026-10-27T19:05:52.881708+00:00", "url": "https://github.com/advisories/GHSA-3jp2-3mrg-2vxc" }, "trigger_signal": { "at": "2026-10-27T13:30:17+00:00", "days": -0.2330538488310185, "is_lower_bound": true, "measured_at": "2026-10-27T19:05:52.881708+00:00", "url": "https://github.com/advisories/GHSA-3jp2-3mrg-2vxc" } } }
published 2026-10-27 14:07Z
last change 2026-10-27 18:41Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.