CVE intelligence and bounded remediation
CVE-2026-32731 — ApostropheCMS is an open-source content management framework
ApostropheCMS is an open-source content management framework. Prior to version 3.5.3 of `@apostrophecms/import-export`, The `extract()` function in `gzip.js` constructs file-write paths using `fs.createWriteStream(path.join(exportPath, header.name))`. `path.join()` does not resolve or sanitise traversal segments such as `../`. It concatenates them as-is, meaning a tar entry named `../../evil.js` resolves to a path outside the intended extraction directory. No canonical-path check is performed before the write stream is opened. This is a textbook Zip Slip vulnerability. Any user who has been granted the Global Content Modify permission — a role routinely assigned to content editors and site managers — can upload a crafted `.tar.gz` file through the standard CMS import UI and write attacker-controlled content to any path the Node.js process can reach on the host filesystem. Version 3.5.3 of `@apostrophecms/import-export` fixes the issue.
- Severity
- Critical
- CVSS
- 9.9 (3.1)
- Published
- 2026-03-18
- CISA KEV
- Not currently listed
- Ecosystem
- javascript/npm
- Weaknesses
- CWE-22
Affected products
- apostrophecms / import-export
Matched remediation archetype
Path traversal, unsafe upload, and file handling
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Trace untrusted filenames, archive entries, URLs, and path segments into read, write, include, extraction, and upload operations.
- Identify filesystem roots, mount permissions, symbolic-link behavior, archive handling, and whether uploaded content is web-accessible or executable.
- Review canonicalization and containment checks across supported operating systems and storage backends.
Remediate safely
- Generate server-side storage identifiers and resolve paths beneath a fixed root using filesystem-aware containment checks.
- Reject absolute, parent-relative, alternate-separator, device, link, and archive entries that escape the intended root.
- Store uploads outside executable or served paths, validate type and size, and use private atomic temporary files.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.