{"id":"CVE-2026-113664","title":"ApostropheCMS import-export tar guard misses './..' because it is a literal '../' substring test","summary":"ApostropheCMS is an open-source Node.js content management system. Prior to 3.7.0 of the import-export module, an authenticated importer can submit a tar entry whose normalized destination targets a directory while bypassing the literal …","severity":"medium","cvss":5.3,"cvssVector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N","cvssSource":"cna","cwe":["CWE-22"],"vendor":"apostrophecms","product":"apostrophe","affected":["apostrophe < 4.33.0","import-export < 3.7.0"],"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"total","timestamp":"2026-10-23T01:55:46.296990Z"},"exploitAvailable":true,"published":"2026-10-20","updated":"2026-10-23","sourceUpdated":"2026-10-23T01:56:12.528Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113664","references":[{"url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-97wv-p4xx-c7mg","label":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-97wv-p4xx-c7mg"},{"url":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce","label":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce"},{"url":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350","label":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350"},{"url":"https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.0","label":"https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.0"},{"url":"https://github.com/advisories/GHSA-97wv-p4xx-c7mg"}],"tags":["cve.org","exploit-available","ghsa","npm"],"epss":0.00485,"epssPercentile":0.41566,"aliases":["GHSA-97wv-p4xx-c7mg"],"ecosystem":"npm","patched":["@apostrophecms/import-export 3.7.0"],"ingestedAt":"2026-10-20T18:14:37.222Z","slug":"CVE-2026-113664","body":"## Overview\n\nApostropheCMS is an open-source Node.js content management system. Prior to 3.7.0 of the import-export module, an authenticated importer can submit a tar entry whose normalized destination targets a directory while bypassing the literal parent-path substring guard. Opening that directory as a write stream emits an unhandled filesystem error that can terminate the Node.js process; the source establishes this static primitive but not an end-to-end exploit or controlled arbitrary file read or write. This issue is fixed in version 3.7.0.\n\n## Affected\n\n- `apostrophe < 4.33.0`\n- `import-export < 3.7.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-113664)\n\nAffected packages:\n\n- `@apostrophecms/import-export < 3.7.0`\n\nPatched in:\n\n- `@apostrophecms/import-export 3.7.0`\n\nSource: https://github.com/advisories/GHSA-97wv-p4xx-c7mg","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":29.2,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":227919,"id":"CVE-2026-113664","ts":1792721610269,"field":"exploit_available","old":"false","new":"true"}]}