Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as ordinary workspace member
-
DeliveryCreate parent + child docs in own collection
-
ExploitDetach child via documents.unpublish (keep parentDocumentId)
-
ExecutionCall documents.update with private collection UUID + publish
-
ImpactInject phishing/malicious content into private collection
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated session as any ordinary workspace member (PR:L) - read-only or no-access members suffice; the attacker must know the target private collection's UUID and must possess at least one writable collection in which to create a parent document. The attack path specifically requires chaining documents.unpublish with detach:true (to null the collectionId while retaining parentDocumentId) followed by documents.update with publish:true pointing at the private collection UUID; a detached document WITHOUT a retained parentDocumentId is correctly rejected with 403, so the retained parent link is the precise enabling condition. Limiting factors: affects only Outline versions before 1.12.0, grants integrity/content-injection only (no read access to the private collection is obtained), and requires prior authentication plus knowledge of the collection identifier. |
| Impact | This is a genuine but moderate-severity integrity issue, correctly rated in the medium range (input CVSS 4.0 base 5.3). The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) is internally consistent with the advisory: network-reachable, low attack complexity, and crucially PR:L - an authenticated workspace member is required, so this is NOT an unauthenticated flaw. Impact is confined to integrity (VI:L); the reporter explicitly confirmed NO confidentiality impact (the attacker still cannot read the private collection or re-open the injected document), which aligns with VC:N. No EPSS score and no KEV status were provided, so there is no signal of active exploitation - exploitation status is 'no public exploit identified' in the strict sense, though a detailed step-by-step PoC (exact HTTP request sequence) is published in the GHSA advisory. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with an authenticated, integrity-only content-injection bug rather than a critical RCE. Net: a real, confirmed authorization defect worth patching on a normal cycle, not a drop-everything emergency, limited by the authentication requirement and the need to know the target collection UUID. |
| Exploit ScenarioDerived | An authenticated but low-privileged Outline workspace member who knows the UUID of a private collection they cannot access creates a parent/child document pair in their own writable collection, detaches the child via documents.unpublish (retaining parentDocumentId), then calls documents.update with the private collection UUID and publish:true to inject attacker-controlled content - e.g. phishing links or fake policy documents - into the confidential collection. A full working proof-of-concept with the exact request sequence is published in the vendor GHSA advisory, so exploitation requires no novel research. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Outline workspaces running versions before 1.12.0 let any authenticated workspace member - including read-only members with no membership in the target collection - publish attacker-supplied documents into private collections, enabling content injection such as phishing links or misleading policy text placed inside trusted confidential spaces. The bypass uses documents.unpublish with detach:true to strip a draft's collection while retaining its parentDocumentId, then documents.update with publish:true and the private collection's UUID; the retained parent link satisfies the authorization check instead of the destination collection's createDocument policy, whereas a detached draft without a parent is correctly rejected with 403. Impact is integrity-only - the injected document appears in listings for legitimate collection members, but the attacker gains no read access to the collection. Severity is medium (CVSS 4.0 base 5.3; independent assessment CVSS 3.1 5.3, C:N/I:L/A:N); the upstream advisory contains a documented proof-of-concept reproduction (a public PoC reference) and there is no CISA KEV entry confirming active exploitation.
RemediationAI
Vendor-released patch: upgrade Outline to v1.12.0 or later, which incorporates commit d249b34e8e (fix: Tighten checks when publishing drafts, #14155); the patch requires that a parent document only authorize publication when it resides in the destination collection, and drops a stale parentDocumentId when a draft is published at the root of a different collection. Upgrade instructions and the affected/fixed version statement are in advisory https://github.com/outline/outline/security/advisories/GHSA-h6ff-rw9x-5mq2 and release notes https://github.com/outline/outline/releases/tag/v1.12.0 . The advisory documents no alternative workaround or configuration toggle and frames 1.12.0 as the fix; if the upgrade must be staged, the documented attack path depends on a detached draft retaining a parentDocumentId, so an interim compensating measure is to audit published documents whose createdById lacks membership in the collection they now belong to (documents.list per private collection) and remove any injected entries - this is detection and cleanup only, not a substitute for the patch, and it does not change the authorization logic that permits the injection in the first place.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a missing-authorization / incorrect-authorization defect (CWE-863; the upstream advisory also classifies it as CWE-285 and CWE-862) in Outline's Node/TypeScript server code. In server/commands/documentCreator.ts, authorizeDocumentPublish branches on document.parentDocumentId: when a parent exists it calls authorize(user, 'createChildDocument', parentDocument, { collection }), checking only the createChildDocument policy in server/policies/document.ts, which requires the parent to be non-draft and the actor to hold update rights on it and ignores the collection option passed alongside it. The createDocument policy in server/policies/collection.ts - which enforces explicit read-write or admin membership for private collections - is therefore never consulted for the destination collection. The fix commit d249b34e8e restructures the branch so the parent document only grants access when parentDocument.collectionId === collection?.id, and additionally clears a stale parentDocumentId in server/models/Document.ts when a document is published into a collection other than its parent's (publishing at the root instead). The reachable precondition is created by documents.unpublish with detach:true, which nulls collectionId but preserves parentDocumentId, producing exactly the state the vulnerable branch trusts.
Know when Outline gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Authenticated member over the network (AV:N, PR:L), straightforward request chain (AC:L), no user interaction; impact is unauthorized content injection only, so I:L with C:N and A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Outline before 1.12.0 contains an incorrect authorization vulnerability in authorizeDocumentPublish() that allows authenticated members to publish documents into private collections without write access. Attackers can detach a child document via documents.unpublish, retaining parentDocumentId, then call documents.update with a private collection UUID to inject phishing content.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
Broken object-level authorization in Outline (self-hosted collaborative documentation) versions 0.84.0 through 1.7.0 let
EUVD-2026-115224
GHSA-vf3p-f5rx-9848
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB