Approved changes feed: RSS · Atom
cpe:2.3:a:outline:outline:*:*:*:*:*:*:*:*
part: a version: * update: *
| Vendor | Outline (fa79668c-a9f4-50c4-8c16-0dc80658fcb6) |
|---|---|
| Product | Outline (348f1f85-9285-5e0f-b793-c40a53573f2e) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
| Notes | Imported from purl2cpe mapping |
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
pkg:github/outline/outline |
purl2cpe | 2026-06-01 10:13:12.529372 |
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
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 |
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 |
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 |
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 |
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 |
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.