Skip to main content

ApostropheCMS CVE-2026-112956

| EUVDEUVD-2026-105107 MEDIUM
Incorrect Authorization (CWE-863)
2026-10-20 GitHub_M GHSA-jf5h-36mg-rp6x
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as contributor with draft rights
  2. Delivery
    Start duplicate import on localized type
  3. Exploit
    Submit client-controlled replacement choice
  4. Execution
    Select published document as target
  5. Impact
    Overwrite published content across boundary

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Exploitation requires: (1) the @apostrophecms/import-export module installed and in use; (2) at least one import-enabled localized document type; and (3) an authenticated ApostropheCMS account with contributor-level draft editing authority. The attacker leverages the duplicate-import continuation step, which accepts a client-supplied replacement choice without binding it to a server-side analysis owned by that user or re-authorizing the canonical target. Limiting factors that reduce real-world risk: a valid logged-in low-privilege account is mandatory (not anonymous/remote-unauthenticated), the import-export feature and a localized, import-enabled type must be configured, and impact is confined to unauthorized modification of published content rather than data disclosure or denial of service.

Impact

This is a medium-severity authorization flaw (CVSS 6.5, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N) rather than a top-priority emergency. The vector shows network reach and low attack complexity, but PR:L means exploitation requires an authenticated account - specifically a contributor with draft editing authority - which sharply narrows the threat population to users who already have a foothold inside the CMS. Impact is integrity-only (C:N/A:N): the attacker can cross the draft/published boundary and replace a published document they should not control, but cannot read protected data or cause outage. No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided in the input, so there is no public exploit identified at time of analysis and no signal of active or widespread exploitation. Notably, the vendor advisory itself states the finding rests on remediation (code/patch) review rather than a repeated end-to-end reproduction, so even the exploitability is vendor-inferred rather than demonstrated - treat the integrity impact as plausible but not independently proven. Net: a legitimate insider-privilege-escalation/authorization issue worth patching during normal cycles, not a drop-everything remote-unauthenticated threat.

Exploit ScenarioDerived

A logged-in contributor who only has draft editing authority uses the import-export module's duplicate-import continuation flow and submits a client-controlled replacement choice that points at a published document. Because the server does not bind that choice to the user's own server-side analysis or re-authorize the canonical target, the contributor overwrites published content they were never permitted to alter. No public exploit code exists; exploitation requires a valid low-privilege account and the import-export module to be in use.

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

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

Alert me

AnalysisAIv1 – Oct 20, 2026

An authorization bypass in the @apostrophecms/import-export module of ApostropheCMS (versions prior to 3.7.1) lets a low-privilege contributor with draft editing rights cross the publication boundary during a duplicate-import continuation. Because the module accepts a client-supplied replacement choice without binding it to a server-side analysis owned by that user or re-authorizing the canonical target document, the contributor can select a published document for replacement on an import-enabled localized type and modify content they should not be able to touch. The flaw is rated CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N) with integrity-only impact; no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor's current assessment derives from remediation review rather than a repeated end-to-end reproduction.

RemediationAI

Vendor-released patch: @apostrophecms/import-export 3.7.1, published at https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.1 - upgrade the module (and the ApostropheCMS dependency set that pins it) to that version, then verify the resolved version in your lockfile, since the fix is delivered through the module rather than a core-only bump. Review the advisory at https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-jf5h-36mg-rp6x and the referenced commits for the exact authorization changes applied to the duplicate-import continuation path. If an immediate upgrade is not possible, compensating controls include temporarily disabling the import-export feature (removing or not mounting the module, at the cost of losing all bulk import capability) or removing contributor-level draft editing rights from untrusted accounts and restricting imports to administrators (which reduces the affected population but does not fix the underlying missing binding). Because the module is typically a project dependency rather than a single toggle, restricting import permission in the module's permission configuration and auditing recent import jobs for unexpected replacement of published documents are prudent interim measures while the patched version is rolled out.

Affected VersionsENISA

mport-export < 3.7.1
Apostrophe < 4.34.0

Affected Packages

npm @apostrophecms/import-export fix: 3.7.1
euvd apostrophe fix: 4.34.0
euvd mport_export fix: 3.7.1

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

ApostropheCMS is an open-source Node.js content management system whose @apostrophecms/import-export module handles batch document imports, including a duplicate-import continuation step where the user chooses how to resolve documents that already exist. That continuation flow is the root of CWE-863 (Incorrect Authorization): the replacement target supplied by the client is trusted without being tied to a server-side analysis record owned by the requesting user, and without a fresh authorization check against the canonical (published) version of the target document. On localized document types with imports enabled, Apostrophe maintains draft and published versions across locales, so a mismatch between the draft-scoped permission the contributor holds and the published document being replaced is exactly the boundary that is skipped. The CVSS vector confirms network-reachable, low-complexity, low-privilege (PR:L), no-user-interaction exploitation with no confidentiality or availability effect and a high integrity impact. Related hardening in the same release covers unauthenticated clean-export/override-duplicates routes and output-escaping issues in widget style fields, but this CVE specifically concerns the duplicate-import authorization binding.

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 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 6.5 MEDIUM

PR:L because a logged-in contributor with draft editing authority is required; UI:N and AC:L as the continuation accepts the choice directly; integrity-only (I:H, C:N/A:N) since the flaw lets published content be overwritten.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Oct 20, 2026 - 17:18 EUVD

DescriptionCVE.org

ApostropheCMS is an open-source Node.js content management system. Prior to 3.7.1 of the import-export module, duplicate-import continuation accepts client-controlled replacement choices without binding them to a user-owned server-side analysis or authorizing the canonical target. On an import-enabled localized type, a contributor with draft editing authority can cross the publication boundary by selecting a published document for replacement, although the current assessment is based on remediation review rather than a repeated end-to-end reproduction. This issue is fixed in version 3.7.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Low
niche open-source Node.js CMS, limited enterprise footprint, optional import module
Threat Intel
1
1 sources
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

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.3%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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