Path Traversal in Outline

CVE-2026-43888

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.

Vulnerability class: Path Traversal (Directory Traversal)

Published · last modified .

CVSS v3 metric

CVSS v3 base score 8.7 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:H.

EPSS exploit prediction

EPSS: 0.005 (41.6th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 42nd percentile — 41.6% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-43888: held from 0.004 to 0.005.

EPSS over last 30 days · oldest: 0.004 · newest: 0.005 · change: +0.001

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-43888?
CVE-2026-43888 is a high-severity vulnerability in Outline, classified under Path Traversal. CVSS score: 8.7/10. Published 2026-05-11.
How severe is CVE-2026-43888?
High severity. CVSS v3 base score is 8.7 out of 10.