Green Hat Security Advisory · GH-ADV-2026-005
GHSA-m2h8-g6cf-42g7
Private draft disclosure through Outline document relationships
Outline's relationship lookup could expose another user's unfiled draft to an authenticated workspace user. Anthony Green reported the issue; the public advisory lists 1.10.0 as fixed and has no public CVE ID yet.
CVE assignment and research role
CVE ID not yet published. This public advisory is tracked as GHSA-m2h8-g6cf-42g7. Green Hat Security's role is Researcher.
Overview
Summary
Outline's relationship lookup could expose another user's unfiled draft to an authenticated workspace user. Anthony Green reported the issue; the public advisory lists 1.10.0 as fixed and has no public CVE ID yet.
Vulnerability Classification
Vulnerability type
Broken Access Control / Information Disclosure
Weakness
CWE-862 / CWE-863
Affected component
relationships.list and Document.findByIds
CVSS 3.1
6.5 · Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Security Impact
A read-only viewer could receive a linked draft's full body despite being denied direct access. The exposure depends on an existing document relationship; the report does not establish access to every draft or to other workspaces.
Affected Products
Outline — affected versions: Earlier than 1.10.0.
Component: relationships.list and Document.findByIds
Fixed version: 1.10.0 or later
Technical Details
The lookup's access filter treated a missing collection as though it were a non-private collection. The published fix handles that state explicitly: document or group membership can grant access, otherwise a document without a visible collection is restricted to its creator. The accompanying tests cover another user's draft, the creator's own draft, and an explicitly shared draft.
This public record provides enough information to identify the vulnerability and its root cause without unnecessarily publishing weaponized exploit material.
Defensive lesson
A relationship grants a way to find an object, not permission to read it. Apply the same read policy to each returned object, and make missing-parent states explicit in authorization decisions.
Research method
How We Investigated
1. Compare routes that return the same object
The report compared documents.info with relationships.list for the same caller and draft: the direct route denied access while the relationship route returned content. Using one identity and one object makes the authorization disagreement easier to isolate.
2. Retest the returned objects after a partial fix
Testing the release and a newer development build showed that authorizing the anchor document did not protect every related draft. A regression check should inspect the response contents, not stop at the request's status code.
3. Keep legitimate access in the regression cases
The final patch tests three outcomes: withhold an unrelated author's unfiled draft, allow the creator to read their own draft, and preserve explicit sharing. Negative and positive cases together make an access-control fix safer to maintain.
Attack Requirements
- An authenticated non-guest workspace account; a read-only viewer was sufficient in the reported tests.
- A document relationship linking to an unfiled draft. Anonymous access was denied.
Remediation
Fixed version: 1.10.0 or later
Guidance: Upgrade Outline to 1.10.0 or later.
- Use synthetic drafts to compare direct reads with relationship lookups under the same account.
- Include unfiled drafts, private collections, explicit sharing, and the author's own drafts in access-control regression tests.
Disclosure Timeline
Research report dated
The report included in Outline's advisory is dated July 26.
Fixed release published
Outline released 1.10.0, the version later identified as patched in the maintainer advisory.
Maintainer advisory published
Outline published the advisory with a fix in 1.10.0 and credited Antnation as reporter.
CVE assignment remains unconfirmed in the public advisory as of October 24, 2026. This summary uses the published report and patch; it is not a fresh test of the fixed release.
Researcher Credit
- Anthony Green [antnation] — Green Hat Security
Coordination and CVE Attribution
Anthony Green of GreenHat Security reported the finding to Outline. Outline published the advisory and remediation. GreenHat is the credited research organization, not an assigning CNA.
A CVE ID and assigning CNA have not been confirmed in the public advisory.
CVE assignment remains unconfirmed in the public advisory as of October 24, 2026. This summary uses the published report and patch; it is not a fresh test of the fixed release.