MEDIUM

CVE-2026-54573

2026-06-25 CVSS v4.0
CVSS
5.3

Description

Outline is a service that allows for collaborative documentation. Prior to 1.8.0, the AuthenticationHelper.canAccess function uses ctx.originalUrl to verify if an API key or OAuth token has the required scopes for a request. It extracts the resource by splitting the URL by / and taking the last segment. However, it fails to strip the URL fragment (#). Because Koa's router uses ctx.path (which strips the fragment) for routing, an attacker can append a fragment containing a permitted path (e.g., #foo/api/documents.info) to a restricted endpoint (e.g., /api/documents.create). The router will route the request to the restricted endpoint, but canAccess will evaluate the permitted path in the fragment, bypassing the API key scope restrictions and allowing privilege escalation. This vulnerability is fixed in 1.8.0.

Summary dbcve.org

In Outline prior to 1.8.0, the AuthenticationHelper.canAccess function uses ctx.originalUrl to verify API key/OAuth token scopes but fails to strip URL fragments (#). Since Koa's router uses ctx.path (which strips fragments), an attacker can append a fragment containing a permitted path (e.g., #foo/api/documents.info) to a restricted endpoint (e.g., /api/documents.create). The router routes to the restricted endpoint, but canAccess evaluates the permitted path in the fragment, bypassing scope restrictions and achieving privilege escalation.

Mitigation

Upgrade Outline to version 1.8.0 or later, which includes the fix to strip URL fragments before scope validation.

Weakness (CWE)

CWE-863 Incorrect Authorization

EPSS Score

0.5%
Probability of exploitation in next 30 days
41.7th percentile

References

View on dbcve.org
Base CVE data derived from NVD (public domain). Enrichment by dbcve.org (CC-BY-4.0). Fetched via API.
Back to CVE