CVE-2026-35569: ApostropheCMS stored XSS in SEO fields

CVE-2026-35569 · Severity: high · CVSS 8.7 · Published 2026-04-15

ApostropheCMS is a content management system used to build and manage websites. A vulnerability in its SEO configuration fields allows attackers to inject malicious JavaScript code that executes in the browsers of authenticated administrators. When an admin visits a page with the injected code, their browser automatically sends sensitive user data—including email addresses, usernames, and admin roles—to attacker-controlled servers, compromising the confidentiality of application data.

Technologies: ApostropheCMS, apostrophe (npm). Vendors: ApostropheCMS, npm.

Quick answers

Is CVE-2026-35569 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-35569 being exploited in the wild.
How severe is CVE-2026-35569?
High severity, with a CVSS score of 8.7, published 15 April 2026.
Which products and versions are affected?
apostrophe (npm) SEMVER:introduced=0,fixed=4.29.0.
Is there a fix for CVE-2026-35569?
Yes. apostrophe (npm): upgrade to 4.29.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-35569 attacked?
It is attacked over the network.
Am I affected by CVE-2026-35569?
Check whether you run ApostropheCMS or apostrophe (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • apostrophe (npm): upgrade to 4.29.0 or later
    npm install apostrophe@4.29.0

Technical details

A stored cross-site scripting (XSS) vulnerability exists in ApostropheCMS SEO-related fields (SEO Title and Meta Description) due to improper neutralization of user input before rendering into HTML contexts including <title>, <meta> attributes, and JSON-LD structured data. An authenticated user with page-edit privileges can inject arbitrary JavaScript by escaping the HTML context using payloads like `"></title><script>...</script>`. The injected script executes with the privileges of any authenticated user (including administrators) who views the compromised page, enabling session riding attacks that exfiltrate sensitive data via the `/api/v1/@apostrophecms/user` API endpoint. The vulnerability affects ApostropheCMS versions up to and including 4.28.0 and is patched in version 4.29.0. Attack requires user interaction (victim must visit the page) and prior authentication, but the impact is high due to confidentiality and integrity implications.

Affected products

  • ApostropheCMS Apostrophe <= 4.28.0

Identifiers

  • CVE-2026-35569
  • GHSA-855c-r2vq-c292

Timeline

  • 2026-04-15: disclosed
  • 2026-04-16: patched: Version 4.29.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.