dvc · OAuthLib: Token grants can use attacker-supplied client_id for authorization after authenticating a different client
Affects dvcSource GCVE Database
Not known to be exploited · CVSS 8.4 High : upgrade to 3.67.1_16 soon.
Data as of 31 Oct 2026, 16:21 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 4.0 | 8.4 |
|---|
- Patch
- Available – fixed in 3.67.1_16
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA: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 30 Oct 2026.
What to do
Upgrade dvc to 3.67.1_16.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewdvcpkg:brew/dvcOther 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
A fix is available in OAuthlib version 3.67.1_16. Users should upgrade to this version or later to resolve the issue. Until upgraded, applications should ensure their RequestValidator implementations do not authorize based solely on the client_id argument passed by OAuthlib but instead rely on the authenticated client object (request.client) to prevent this attack. No other mitigations are specifically indicated by the vendor advisory.
Description
OAuthlib contains a vulnerability in its token grant handlers where an authenticated low-privilege client can supply a different client_id in the token request body, causing grant and scope validation to be performed under that other client identity. This affects the client_credentials and resource owner password credentials grant flows. The issue arises because OAuthlib does not require the client_id in the request body to match the authenticated client's client_id before validating grants and scopes. As a result, a low-privilege client can obtain tokens with higher privileges assigned to another client if the application validator authorizes based on the client_id argument passed by OAuthlib.
References
- github.com/oauthlib/oauthlib/security/advisories/GHSA-7984-qgvg-3j9c (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-118669 (opens in a new tab)
- github.com/oauthlib/oauthlib/pull/920 (opens in a new tab)
- github.com/oauthlib/oauthlib/commit/c951a1d09f99f14e3240973fa83c4f4287d4753d (opens in a new tab)
- github.com/oauthlib/oauthlib (opens in a new tab)
- github.com/oauthlib/oauthlib/releases/tag/v4.0.0 (opens in a new tab)