@apostrophecms/seo Vulnerable to Stored XSS via Unsanitized Google Analytics / GTM ID Injected into Script Tag
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
ApostropheCMS is an open-source Node.js content management system. Versions up to and including 1.4.2 of the `@apostrophecms/seo` package injects the Google Analytics Tracking ID (`seoGoogleTrackingId`) and Google Tag Manager ID (`seoGoogleTagManager`) directly into `<script>` tag bodies using JavaScript template literals without any sanitization or validation. Any user with editor-level access (the default role for content managers) can set these fields to a malicious value, resulting in stored XSS that executes on every page for every visitor of the site. As of time of publication, no known patched versions are available.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| apostrophecms | @apostrophecms/seo | up to 1.4.2 | — | No fix listed | CNA |
| — | @apostrophecms/seo (npm) | before 1.5.0 | 1.5.0 | Patch available | GHSA-wf43-fpp3-cf65 |
- @apostrophecms/seo Vendorapostrophecms Affected up to 1.4.2 Fixed in — No fix listed CNA
- @apostrophecms/seo (npm) Vendor— Affected before 1.5.0 Fixed in 1.5.0 Patch available GHSA-wf43-fpp3-cf65
Remediation
- Fix · GHSA-wf43-fpp3-cf65 @apostrophecms/seo (npm) Fixed in 1.5.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-53608
- 2026-10-03 Alias added: GHSA-wf43-fpp3-cf65
References
More apostrophecms vulnerabilities
- TI-2026-25223 ApostropheCMS has Arbitrary File Write (Zip Slip / Path Traversal) in Import-Export Gzip Extraction CVSS 3.1CRITICAL 10.0
- TI-2026-32848 Apostrophe has default XSS via `xmp` raw-text passthrough in `sanitize-html` CVSS 3.1CRITICAL 9.3
- TI-2026-27673 ApostropheCMS: Stored XSS in SEO Fields Leads to Authenticated API Data Exposure in ApostropheCMS CVSS 3.1HIGH 8.7
- TI-2026-76992 Unauthenticated resource exhaustion via ApostropheCMS import routes CVSS 3.1HIGH 7.5
- TI-2026-76974 ApostropheCMS leaves rejected CSV uploads in temporary directory CVSS 3.1HIGH 7.5
- TI-2026-38665 Prototype pollution in apostrophecms apostrophe CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-53608 · CVE Program
- CVE-2026-53608 · NVD
- FIRST EPSS
- GHSA-wf43-fpp3-cf65 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences