Skip to main content

ApostropheCMS EUVDEUVD-2026-105211

| CVE-2026-113664 MEDIUM
Path Traversal (CWE-22)
2026-10-20 GitHub_M GHSA-97wv-p4xx-c7mg
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as user with import rights
  2. Exploit
    Upload crafted tar archive
  3. Execution
    Bypass parent-path substring guard with directory target
  4. Impact
    Crash Node.js process (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires (1) the @apostrophecms/import-export module to be installed and enabled, (2) an authenticated account with permission to perform imports (PR:L - not an anonymous attacker), and (3) the ability to submit a crafted tar archive whose normalized destination resolves to a directory, defeating the pre-3.7.0 literal parent-path substring guard. Limiting factors: exploitation is impossible without valid importer credentials and without the separately-installed import-export module; impact is confined to a denial-of-service process crash, as the advisory states no controlled arbitrary file read/write was achieved.

Impact

This is a medium-severity (CVSS 4.0 base 5.3), authenticated issue with no amplifying threat signals: no EPSS score, KEV listing, or public POC was provided, so exploitation status is 'no public exploit identified at time of analysis.' The CVSS vector is PR:L/UI:N/AV:N, meaning a logged-in user holding import privileges can trigger it remotely without user interaction, but required authentication materially caps the attacker population. The supplied CVSS 4.0 vector claims balanced low impact across all three dimensions (VC:L/VI:L/VA:L), yet the description contradicts this: it explicitly states the researcher established only a static DoS primitive (an unhandled filesystem error that terminates the Node.js process) and NOT a controlled arbitrary file read or write and NOT an end-to-end exploit. The realistic impact is therefore availability (process crash), with confidentiality and integrity impact unproven - the input vector appears to overstate C/I. Net assessment: a genuine but low-priority defense-in-depth fix, not an emergency; it is an authenticated denial-of-service in a niche optional module, not a widespread pre-auth RCE.

Exploit ScenarioDerived

An authenticated user with import permissions uploads a crafted tar archive to the import-export module whose entry path normalizes to a directory while slipping past the literal parent-path substring check. When the importer opens that path as a write stream, the resulting filesystem error is unhandled and terminates the Node.js process, denying service to all users. No public proof-of-concept was provided, and the source only demonstrates the crash primitive rather than file read/write.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

Authenticated importers in ApostropheCMS can crash the Node.js process by submitting a crafted tar archive to the @apostrophecms/import-export module prior to 3.7.0. The archive entry's normalized destination is aimed at a directory while evading a literal parent-path substring check, causing a write-stream filesystem error that is not handled and terminates the process. This is an authenticated denial-of-service issue (CVSS 4.0 base 5.3; assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:N/C:N/I:N/A:L) with no public exploit identified at time of analysis, no KEV listing, and no EPSS score provided; the source establishes a static primitive but not controlled arbitrary file read or write.

RemediationAI

Upgrade @apostrophecms/import-export to 3.7.0 or later; vendor references include advisory GHSA-97wv-p4xx-c7mg, commits 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce and f84fd41cbf6c22eb8d0008fc9c25df1f7130b350, and release @apostrophecms/import-export@3.7.0. If immediate upgrade is not possible, restrict import privileges to trusted administrators and disable or remove the import-export module until patched; this reduces exposure but does not fix the path validation flaw, and disabling the module removes import/export functionality. Because exploitation requires a valid authenticated importer, enforce least privilege and review accounts with import permissions. Monitor for Node.js process exits during imports and treat repeated crashes as a signal to investigate crafted tar uploads.

Affected VersionsENISA

import-export < 3.7.0
Apostrophe < 4.33.0

Affected Packages

npm @apostrophecms/import-export fix: 3.7.0
euvd apostrophe fix: 4.33.0
euvd import_export fix: 3.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The @apostrophecms/import-export module handles tar archives for content import. In versions before 3.7.0, it relies on a literal parent-path ('..') substring guard when validating tar entry destinations. A tar entry whose normalized path resolves to a directory can bypass that guard; when code opens the directory as a write stream, Node.js emits an unhandled filesystem error such as EISDIR that can terminate the process. CWE-22 path traversal is the root cause class: insufficient canonicalization and validation of archive member paths. The affected CPEs cover ApostropheCMS and @apostrophecms/import-export. The advisory characterizes this as a static primitive and does not establish an end-to-end exploit or controlled arbitrary file read or write, so impact is availability-only process crash.

Know when Apostrophecms gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

Authenticated importer acting over the network (PR:L, AV:N, AC:L); description substantiates only a process-crash DoS, so C:N/I:N and A:L rather than any confirmed read or write.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 20, 2026 - 19:03 EUVD

DescriptionCVE.org

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 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.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
niche open-source Node.js CMS plus optional import-export add-on module
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2026-63669 MEDIUM POC
6.5 Aug 17

Integrity bypass in ApostropheCMS page management allows authenticated low-privileged editors to move pages into restric

CVE-2026-63670 MEDIUM POC
6.1 Aug 17

Stored cross-site scripting in ApostropheCMS prior to 2.17.6 enables execution of arbitrary JavaScript in victim browser

CVE-2014-125128 MEDIUM POC
6.1 Sep 08

'sanitize-html' prior to version 1.0.3 is vulnerable to Cross-site Scripting (XSS). Rated medium severity (CVSS 6.1), th

CVE-2019-25225 MEDIUM POC
6.1 Sep 08

`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). Rated medium severity (CVSS 6.1

CVE-2021-25979 CRITICAL
9.8 Nov 08

Apostrophe CMS versions prior to 3.3.1 did not invalidate existing login sessions when disabling a user account or chang

CVE-2026-84371 MEDIUM POC
5.4 Sep 01

Stored XSS in sanitize-html versions 1.9.0 through 2.17.6 allows authenticated low-privileged users to inject executable

CVE-2024-21501 MEDIUM POC
5.3 Feb 24

Versions of the package sanitize-html before 2.12.1 are vulnerable to Information Exposure when used on the backend and

CVE-2021-26540 MEDIUM POC
5.3 Feb 08

Apostrophe Technologies sanitize-html before 2.3.2 does not properly validate the hostnames set by the "allowedIframeHos

CVE-2021-26539 MEDIUM POC
5.3 Feb 08

Apostrophe Technologies sanitize-html before 2.3.1 does not properly handle internationalized domain name (IDN) which co

CVE-2026-53609 CRITICAL
9.1 Jun 12

Prototype pollution in ApostropheCMS versions up to and including 4.30.0 allows an authenticated editor to poison Object

CVE-2026-53608 HIGH
8.7 Jun 12

Stored cross-site scripting in the @apostrophecms/seo plugin (versions ≤1.4.2) allows any user holding the default edito

CVE-2026-35569 HIGH
8.7 Apr 15

Stored cross-site scripting in ApostropheCMS SEO fields permits an authenticated attacker to inject arbitrary JavaScript

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy