Approved changes feed: RSS · Atom

cpe:2.3:a:outline:outline:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorOutline (fa79668c-a9f4-50c4-8c16-0dc80658fcb6)
ProductOutline (348f1f85-9285-5e0f-b793-c40a53573f2e)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*
NotesImported from purl2cpe mapping

PURL mappings

PURLSourceLast updated
pkg:github/outline/outline purl2cpe 2026-06-01 10:13:12.529372

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-54573 vulnerable 2026-07-29 01:00:27.898427 Authorization Bypass in API Key/OAuth Scopes via Path Parsing Discrepancy
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.
Published: 2026-06-25T15:59:35.297Z
Updated: 2026-06-26T18:42:57.082Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-44695 vulnerable 2026-06-08 08:05:11.268078 Outline: Slack OAuth state can link a victim Outline account to an attacker Slack identity
MEDIUM (5.8)
Outline is a service that allows for collaborative documentation. Prior to 1.7.1, the Slack integration callback for GET /auth/slack.post accepts an unsigned, session-independent OAuth state value. A third party who can obtain a Slack OAuth code for the same Outline Slack client can make a logged-in Outline user complete the callback and link that user's Outline account to the attacker's Slack team_id and user_id. The linked Slack identity can then use the Slack /outline search command as the victim Outline user. This vulnerability is fixed in 1.7.1.
Published: 2026-05-11T21:11:25.679Z
Updated: 2026-05-12T13:30:44.950Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-43890 vulnerable 2026-06-08 08:03:17.979962 Outline: IDOR in subscriptions.create allows cross-tenant subscription on private documents (sibling of GHSA-23jj-rp48-w7q7)
HIGH (7.7)
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.
Published: 2026-05-11T21:09:00.286Z
Updated: 2026-05-13T14:39:15.596Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-43889 vulnerable 2026-06-08 08:03:17.979732 Outline: Unauthorized Document Publication via Mixed collectionId+documentId Share
MEDIUM (6.5)
Outline is a service that allows for collaborative documentation. Prior to 1.7.0, the shares.create API accepts both collectionId and documentId simultaneously and, when published=false, only verifies read access for each—skipping the "share" permission check. A subsequent shares.update authorizes publication using an OR policy (can share collection OR can share document), so an attacker who holds share permission on one unrelated collection can publish a share that exposes an arbitrary document they cannot legitimately share, making it publicly accessible to unauthenticated users. This vulnerability is fixed in 1.7.0.
Published: 2026-05-11T21:10:38.105Z
Updated: 2026-05-12T13:38:04.105Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-43888 vulnerable 2026-06-08 08:03:17.979502 Outline: Zip Extraction Path Escape via PATH_MAX Truncation in Collection Import
HIGH (8.7)
Outline is a service that allows for collaborative documentation. Prior to 1.7.0, ZipHelper.extract computes the extraction path for each entry by passing a full filesystem path through trimFileAndExt, a filename helper that calls path.basename on its input when truncating. When a zip entry's nested path is long enough to push the joined filesystem path over MAX_PATH_LENGTH (4096 bytes), trimFileAndExt silently drops all directory components and returns a bare filename. fs.createWriteStream then opens the file relative to the process working directory instead of inside the extraction sandbox, and the escaped file persists after import cleanup because cleanupExtractedData only removes the temporary extraction directory. This vulnerability is fixed in 1.7.0.
Published: 2026-05-11T21:09:42.972Z
Updated: 2026-05-12T12:53:57.532Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-43887 vulnerable 2026-06-08 08:03:17.979304 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-43886 vulnerable 2026-06-08 08:03:17.978990 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-41649 vulnerable 2026-06-08 08:03:15.647069 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-33640 vulnerable 2026-06-08 07:59:10.526481 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-28506 vulnerable 2026-06-08 07:55:15.380664 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-25062 vulnerable 2026-06-08 07:53:18.905926 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-24901 vulnerable 2026-06-08 07:53:18.654189 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2025-68663 vulnerable 2026-06-08 07:41:21.582469 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2025-64487 vulnerable 2026-06-08 07:39:19.836088 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2025-58351 vulnerable 2026-06-08 07:35:18.018361 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2024-40626 vulnerable 2026-06-08 06:43:52.791748 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.