Read the docs

Stored cross-site scripting in Ghost via unsanitized SVG uploads

Priority LOW 34CWE-434Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
Required
Attack complexity
Low
Impact type
Code execution, 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-434 and CWE-79.

Summary

Ghost, a Node.js content management system, is affected from 4.22.0 before 6.65.0. SVG media thumbnails and SVG images uploaded with a non-SVG file extension are stored without sanitization, which allows cross-site scripting (CWE-79). Any staff user, including Contributors, can host scripts on the site's domain, which may compromise other staff users' admin sessions.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Ghost is a Node.js content management system. From 4.22.0 until 6.65.0, SVG media thumbnails and SVG images uploaded with a non-SVG file extension were stored without sanitization. This allowed any staff user, including Contributors, to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.65.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00302 23rd percentileScored 2026-11-07
Fix Fixed Ghost (TryGhost): 6.65.0ghost (npm): 6.65.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
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

VendorProductAffected versionsFixed inStatusSource
TryGhostGhost4.22.0 to before 6.65.06.65.0Patch availableCNA
—ghost (npm)4.22.0 to before 6.65.06.65.0Patch availableGHSA-8575-cr6v-7jh4
  • Ghost VendorTryGhost Affected 4.22.0 to before 6.65.0 Fixed in 6.65.0 Patch available CNA
  • ghost (npm) Vendor— Affected 4.22.0 to before 6.65.0 Fixed in 6.65.0 Patch available GHSA-8575-cr6v-7jh4

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:ghost:ghost:*:*:*:*:*:*:*:*——TryGhost
  • cpe:2.3:a:ghost:ghost:*:*:*:*:*:*:*:* Versions — — ·TryGhost

Remediation

Upgrade the ghost npm package to version 6.65.0, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA Ghost (TryGhost) Fixed in 6.65.0
  • Fix · GHSA-8575-cr6v-7jh4 ghost (npm) Fixed in 6.65.0 Advisory →

Timeline

  1. 2026-10-05 Threatist record created from CVE-2026-105649
  2. 2026-10-06 CISA SSVC decision points changed
  3. 2026-10-06 Priority changed: MEDIUM → LOW
  4. 2026-10-07 Alias added: GHSA-8575-cr6v-7jh4
  5. 2026-10-07 Fix available: npm/[email protected] · GHSA-8575-cr6v-7jh4
  6. 2026-10-07 CVSS score added · GHSA-8575-cr6v-7jh4
  7. 2026-10-07 Weakness changed · GHSA-8575-cr6v-7jh4
  8. 2026-10-07 6 new references · GHSA-8575-cr6v-7jh4

References

  • TI-2026-21459 Ghost has a SQL Injection in its Content API CVSS 3.1CRITICAL 9.4
  • TI-2022-10277 An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows… CVSS 3.1CRITICAL 9.8
  • TI-2024-22785 Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit… CVSS 3.1CRITICAL 9.1
  • TI-2023-14843 Ghost vulnerable to disclosure of private API fields CVSS 3.1HIGH 7.5
  • TI-2025-09049 Ghost 6.0.6 - SSRF via oEmbed Bookmark CVSS 4.0MEDIUM 6.1
  • TI-2023-20918 Arbitrary file read via symlinks in Ghost CVSS 3.1MEDIUM 6.5
See all 109 →

Sources