CVE-2026-32731

Critical

Description

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.

SeverityCritical
CVSS9.9
Exploit probability—
ProductApostrophecms Import-export
PublishedMar 18, 2026
First seenMar 18, 2026

How to fix

Update
  • apostrophecms import-export3.5.3 or later
  • @apostrophecms/import-export3.5.3 or later

Affected products

ProductAffected versionsFixed in
apostrophecms import-exportv < 3.5.33.5.3
@apostrophecms/import-exportnpmv < 3.5.33.5.3

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.