CVE-2026-54573
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 — wyżej niż 20% wszystkich znanych CVE
Streszczenie
Outline przed wersją 1.8.0 zawiera podatność polegającą na błędnym sprawdzaniu zakresów uprawnień klucza API lub tokena OAuth. Funkcja AuthenticationHelper.canAccess używa ctx.originalUrl do weryfikacji, ale nie usuwa fragmentu URL (#), co pozwala atakującemu na ominięcie ograniczeń i eskalację uprawnień poprzez dołączenie dozwolonej ścieżki w fragmencie.
Ocena ryzyka
Atakujący może uzyskać dostęp do chronionych endpointów API bez odpowiednich uprawnień, co prowadzi do eskalacji uprawnień i potencjalnego naruszenia poufności lub integralności danych.
Rekomendacja
Należy niezwłocznie zaktualizować Outline do wersji 1.8.0 lub nowszej, która zawiera poprawkę usuwającą fragment URL przed weryfikacją zakresów.
Oryginalny opis (angielski, źródło NVD)
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.

