Skip to main content

Outline CVE-2026-43888

| EUVDEUVD-2026-29332 HIGH
Path Traversal (CWE-22)
2026-05-11 GitHub_M
8.7
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
8.7 HIGH
AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H
vuln.today AI
8.5 HIGH

Import is typically available to authenticated members so PR:L (vendor used PR:H); sandbox escape justifies S:C, arbitrary-filename write gives I:H, C:N, and A:L since only working-dir files may be clobbered.

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

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

3
Analysis Generated
Jul 23, 2026 - 23:32 vuln.today
Patch available
May 11, 2026 - 23:03 EUVD
CVE Published
May 11, 2026 - 21:09 nvd
HIGH 8.7

DescriptionGitHub Advisory

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.

AnalysisAI

Zip extraction sandbox escape in Outline (self-hosted collaborative knowledge base) before 1.7.0 lets an authenticated user with import privileges write an attacker-named file into the server's process working directory instead of the isolated extraction folder. A crafted import archive whose nested entry path exceeds the 4096-byte MAX_PATH_LENGTH causes the trimFileAndExt helper to collapse the path to a bare filename, and the resulting file survives normal import cleanup. Publicly available exploit code exists per SSVC (POC), but there is no public exploit identified in the wild and EPSS probability is very low (0.04%).

Technical ContextAI

Outline is a Node.js/TypeScript collaborative documentation ('team wiki') platform that supports importing content from uploaded ZIP archives. The flaw lives in ZipHelper.extract, which builds each entry's destination by joining the sandbox directory with the entry's internal path and then passing that full filesystem path through trimFileAndExt - a filename-truncation helper that internally calls path.basename. When the joined path grows beyond MAX_PATH_LENGTH (4096 bytes), trimFileAndExt discards every directory component and returns only the base filename, so fs.createWriteStream resolves it relative to the process working directory rather than the intended extraction sandbox. This is a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal) root cause, here expressed not as '../' sequences but as an implicit escape triggered by a path-length edge case; cleanupExtractedData only deletes the temporary extraction directory, so the escaped artifact persists. Affected component per CPE is cpe:2.3:a:outline:outline:*:*:*:*:*:*:*:*.

RemediationAI

Vendor-released patch: upgrade Outline to 1.7.0 or later, which corrects ZipHelper.extract so extraction paths are no longer collapsed to a bare filename. If immediate upgrade is not possible, restrict who can perform document/collection imports to trusted administrators only (reducing exposure of the privileged import path), and consider temporarily disabling ZIP import workflows - the trade-off is loss of bulk-import functionality for end users. As a hardening measure, run the Outline server process from a dedicated, minimal working directory that contains no sensitive or overwritable files, so any escaped write lands in a low-value location; note this does not prevent the escape, only limits its impact. Review the advisory at https://github.com/outline/outline/security/advisories/GHSA-hw32-2v7j-mgqc for authoritative fix guidance.

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

CVE-2026-41649 HIGH
7.7 Apr 28

Cross-workspace document disclosure in Outline (getoutline) versions 0.86.0 through 1.6.x lets an authenticated user min

Share

CVE-2026-43888 vulnerability details – vuln.today

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