Skip to main content

Outline EUVDEUVD-2026-115224

| CVE-2026-120489 MEDIUM
Incorrect Authorization (CWE-863)
2026-11-02 VulnCheck GHSA-vf3p-f5rx-9848
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as ordinary workspace member
  2. Delivery
    Create parent + child docs in own collection
  3. Exploit
    Detach child via documents.unpublish (keep parentDocumentId)
  4. Execution
    Call documents.update with private collection UUID + publish
  5. Impact
    Inject 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

outline 0 <1.12.0

Affected Packages

euvd outline fix: 1.12.0

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Medium
popular self-hosted open-source team wiki, moderate production footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2024-37829 HIGH POC
8.8 Jul 09

An issue in Outline <= v0.76.1 allows attackers to execute a session hijacking attack via user interaction with a crafte

CVE-2023-54331 HIGH POC
7.8 Jan 13

Outline versions up to - contains a vulnerability that allows attackers to potentially execute arbitrary code with eleva

CVE-2024-37830 MEDIUM POC
6.1 Jul 09

An issue in Outline <= v0.76.1 allows attackers to redirect a victim user to a malicious site via intercepting and chang

CVE-2026-25062 MEDIUM POC
5.5 Feb 11

Outline versions prior to 1.4.0 fail to validate attachment file paths during JSON import, allowing authenticated attack

CVE-2024-40626 MEDIUM POC
5.4 Jul 16

Outline is an open source, collaborative document editor. Rated medium severity (CVSS 5.4), this vulnerability is remote

CVE-2023-3532 MEDIUM POC
5.4 Jul 07

Cross-site Scripting (XSS) - Stored in GitHub repository outline/outline prior to 0.70.1. Rated medium severity (CVSS 5.

CVE-2022-2342 MEDIUM POC
5.4 Jul 07

Cross-site Scripting (XSS) - Stored in GitHub repository outline/outline prior to v0.64.4. Rated medium severity (CVSS 5

CVE-2026-33640 CRITICAL
9.1 Mar 26

Account takeover in Outline collaborative documentation service versions 0.86.0 through 1.5.x enables unauthenticated at

CVE-2026-43888 HIGH
8.7 May 11

Zip extraction sandbox escape in Outline (self-hosted collaborative knowledge base) before 1.7.0 lets an authenticated u

CVE-2026-43886 HIGH
8.2 May 11

Privilege escalation in Outline (the collaborative wiki/knowledge-base) versions 0.84.0 through 1.6.1 lets a malicious O

CVE-2026-24901 HIGH
8.1 Mar 17

An Insecure Direct Object Reference (IDOR) vulnerability in Outline's document restoration logic allows any authenticate

CVE-2026-43890 HIGH
7.7 May 11

Broken object-level authorization in Outline (self-hosted collaborative documentation) versions 0.84.0 through 1.7.0 let

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy