CVE-2026-43888: Outline: Zip Extraction Path Escape via PATH_MAX Truncation in Collection Import
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 MAXPATHLENGTH (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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43888?
CVE-2026-43888 is rated as a moderate severity vulnerability due to its potential impact on system security.
How do I fix CVE-2026-43888?
To resolve CVE-2026-43888, upgrade to Outline version 1.7.0 or later.
What components are affected by CVE-2026-43888?
CVE-2026-43888 affects all versions of Outline prior to 1.7.0.
Can CVE-2026-43888 lead to remote code execution?
Yes, CVE-2026-43888 could potentially be exploited to execute arbitrary code remotely.
What is the main cause of CVE-2026-43888?
The vulnerability is caused by improper handling of extraction paths in the ZipHelper.extract function.