CVE-2026-43886
OAuth Scope Validation Bypass in Outline
Publication date: 2026-05-11
Last updated on: 2026-05-11
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-269 | The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Outline service versions 0.84.0 to 1.6.1. It is caused by a logic error in the OAuthInterface.validateScope() function, which uses Array.some() to validate requested OAuth scopes. Due to this error, if any single scope in the requested scope array is valid, the function incorrectly accepts the entire scope array.
An attacker can exploit this by including the wildcard * scope in their request (for example, scope=read *), which allows them to escalate a read-only OAuth token to have full unrestricted API access. This includes permissions to write, delete, and perform admin operations. The issue was fixed in version 1.7.0.
How can this vulnerability impact me? :
This vulnerability can have serious security impacts. An attacker who exploits it can escalate their OAuth token privileges from read-only to full unrestricted access. This means they could potentially modify, delete, or administer data and resources within the Outline service without authorization.
Such unauthorized access could lead to data breaches, loss of data integrity, unauthorized changes, and disruption of service.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed in Outline version 1.7.0. To mitigate this vulnerability, you should upgrade your Outline service to version 1.7.0 or later.
Until the upgrade is applied, be cautious with OAuth tokens that request scopes containing wildcards, as they may allow escalation from read-only to full unrestricted API access.