# CVE-2026-105650: Ghost CMS stored XSS via oEmbed photo URLs

Source: https://junglewise.ai/threats/cve-2026-105650-ghost-is-a-node-js-content-management-system-from-2-1-0-until-6  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-05. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-105650 · Severity: high · CVSS 8.1 · Published 2026-10-05

Ghost is a Node.js content management system used by publishers and content creators. An attacker could embed malicious URLs that inject scripts into post content, which then execute in the editor, on published websites, and in newsletter emails. This could allow attackers to compromise staff user admin sessions and take over the CMS.

Technologies: [Ghost](https://junglewise.ai/threats/technologies/ghost-ghost), [ghost (npm)](https://junglewise.ai/threats/technologies/ghost). Vendors: [Ghost](https://junglewise.ai/threats/vendors/ghost), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-105650 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-105650 being exploited in the wild.

**How severe is CVE-2026-105650?** High severity, with a CVSS score of 8.1, published 5 October 2026.

**Which products and versions are affected?** Ghost 2.1.0 to 6.63.x; ghost (npm) >= 2.5.0, < 6.64.0.

**Is there a fix for CVE-2026-105650?** Yes: fixed in Ghost 6.64.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-105650 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-105650?** Check whether you run Ghost or ghost (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

- Fixed in Ghost 6.64.0

## Technical details

A stored cross-site scripting (XSS) vulnerability exists in Ghost's handling of oEmbed photo responses. When a user embeds a URL from an attacker-controlled website, untrusted scripts can be stored in post content without proper sanitization. These scripts execute in multiple contexts: the Ghost editor, published sites, and newsletter emails, potentially allowing session hijacking of administrative users.

## Affected products

- Ghost Ghost 2.1.0 to 6.63.x

## Identifiers

- CVE-2026-105650
- GHSA-v3xr-g6p2-fvgv

## Timeline

- 2026-10-05: disclosed

## References

- [https://github.com/TryGhost/Ghost/commit/d23d552e257e2696c60293bc5cd7898a49d6bd1f](https://github.com/TryGhost/Ghost/commit/d23d552e257e2696c60293bc5cd7898a49d6bd1f)
- [https://github.com/TryGhost/Ghost/pull/30763](https://github.com/TryGhost/Ghost/pull/30763)

## Related threats

- [Ghost: Path Traversal Vulnerability in Ghost ImageSize Service](https://junglewise.ai/threats/cve-2026-105683-ghost-is-a-node-js-content-management-system-from-6-14-0-until-6)
- [Ghost: Server-Side Request Forgery in Webhook Trigger](https://junglewise.ai/threats/cve-2026-105682-ghost-is-a-node-js-content-management-system-from-1-18-0-until-6)
- [Ghost input validation bypass in comments access control](https://junglewise.ai/threats/cve-2026-105681-ghost-is-a-node-js-content-management-system-from-5-9-0-until-6)
- [Ghost authorization bypass in post deletion](https://junglewise.ai/threats/cve-2026-105680-ghost-is-a-node-js-content-management-system-from-5-81-0-until-6)
- [Ghost content type validation bypass in local file storage](https://junglewise.ai/threats/cve-2026-105679-ghost-is-a-node-js-content-management-system-from-6-22-1-until-6)
