Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Network-reachable, low-complexity, authenticated (PR:L) cross-tenant break gives S:C; impact assessed C:L rather than C:H since a subscription leaks update/notification signals, not full document reads, matching SSVC 'partial'.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Lifecycle Timeline
3DescriptionGitHub Advisory
Outline is a service that allows for collaborative documentation. From 0.84.0 to 1.7.0, the subscriptions.create API endpoint in server/routes/api/subscriptions/subscriptions.ts exhibits a broken authorization pattern. When both collectionId and documentId are supplied in the request, the route handler authorizes ONLY the collection branch (line 125 if (collectionId)), while the downstream subscriptionCreator command at server/commands/subscriptionCreator.ts writes the subscription against the documentId (which was never validated). The result is a subscription record pinning the attacker's user to a victim document the attacker has no read access to, on any team in the instance. The schema (server/routes/api/subscriptions/schema.ts) only enforces "at least one of collectionId/documentId" via .refine() - it does NOT enforce mutual exclusivity, so passing both is a valid, schema-conforming request. This vulnerability is fixed in 1.7.1.
AnalysisAI
Broken object-level authorization in Outline (self-hosted collaborative documentation) versions 0.84.0 through 1.7.0 lets an authenticated user subscribe to any document across any team, including documents they have no read access to. The subscriptions.create API validates only the collection branch when both collectionId and documentId are submitted, but the subscriptionCreator command writes the record against the unvalidated documentId. Publicly available exploit path is described in the vendor advisory (SSVC 'poc'); EPSS is very low at 0.03% (8th percentile), indicating no observed mass exploitation.
Technical ContextAI
Outline is a Node/TypeScript knowledge-base and wiki application supporting multi-team (multi-tenant) deployments. The flaw is CWE-639 (Authorization Bypass Through User-Controlled Key / IDOR): in server/routes/api/subscriptions/subscriptions.ts the handler branches on 'if (collectionId)' (line 125) and performs the authorization check only against the collection, while the downstream command at server/commands/subscriptionCreator.ts persists the subscription keyed to documentId. The Zod schema in schema.ts uses .refine() to require 'at least one of collectionId/documentId' but does NOT enforce mutual exclusivity, so a request carrying both fields is fully schema-conforming. The attacker therefore satisfies the authorized collection check with a collection they legitimately access while smuggling in an arbitrary victim documentId that is never authorized.
RemediationAI
Upgrade to Outline 1.7.1, which corrects the authorization logic (Vendor-released patch: 1.7.1); this is the primary and recommended fix per the advisory at https://github.com/outline/outline/security/advisories/GHSA-gf8h-cv9v-q4fw. If an immediate upgrade is not possible, restrict or proxy the /api/subscriptions.create endpoint to reject requests that supply both collectionId and documentId simultaneously via a reverse-proxy or WAF rule, since legitimate clients typically send only one; the trade-off is potential breakage if any internal tooling relies on sending both. Because exploitation requires an authenticated account, additionally tighten account provisioning and audit subscription records for entries pinning users to documents outside their accessible collections, then revoke anomalous subscriptions until patched.
An issue in Outline <= v0.76.1 allows attackers to execute a session hijacking attack via user interaction with a crafte
Outline versions up to - contains a vulnerability that allows attackers to potentially execute arbitrary code with eleva
An issue in Outline <= v0.76.1 allows attackers to redirect a victim user to a malicious site via intercepting and chang
Outline versions prior to 1.4.0 fail to validate attachment file paths during JSON import, allowing authenticated attack
Outline is an open source, collaborative document editor. Rated medium severity (CVSS 5.4), this vulnerability is remote
Cross-site Scripting (XSS) - Stored in GitHub repository outline/outline prior to 0.70.1. Rated medium severity (CVSS 5.
Cross-site Scripting (XSS) - Stored in GitHub repository outline/outline prior to v0.64.4. Rated medium severity (CVSS 5
Account takeover in Outline collaborative documentation service versions 0.86.0 through 1.5.x enables unauthenticated at
Zip extraction sandbox escape in Outline (self-hosted collaborative knowledge base) before 1.7.0 lets an authenticated u
Privilege escalation in Outline (the collaborative wiki/knowledge-base) versions 0.84.0 through 1.6.1 lets a malicious O
An Insecure Direct Object Reference (IDOR) vulnerability in Outline's document restoration logic allows any authenticate
Cross-workspace document disclosure in Outline (getoutline) versions 0.86.0 through 1.6.x lets an authenticated user min
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29334