# CVE-2026-24778: Ghost XSS via malicious Portal preview links

Source: https://junglewise.ai/threats/cve-2026-24778-ghost-xss-via-malicious-portal-preview-links  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-01-28. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-24778 · Severity: low · CVSS 3.1 · Published 2026-01-28

Ghost is a popular blogging and CMS platform that integrates with a members Portal component for subscription management. An attacker can craft a malicious link that, when clicked by an authenticated staff member or subscriber, executes JavaScript code in their browser session, potentially leading to account takeover or credential theft.

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

## Quick answers

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

**How severe is CVE-2026-24778?** Low severity, with a CVSS score of 3.1, published 28 January 2026.

**Which products and versions are affected?** @tryghost/portal (npm) SEMVER:introduced=2.29.1,fixed=2.51.5; ghost (npm) SEMVER:introduced=5.43.0,fixed=5.121.0.

**Is there a fix for CVE-2026-24778?** Yes. @tryghost/portal (npm): upgrade to 2.51.5 or later; ghost (npm): upgrade to 5.121.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

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

**Am I affected by CVE-2026-24778?** Check whether you run @tryghost/portal (npm) 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

- @tryghost/portal (npm): upgrade to 2.51.5 or later

  ```sh
  npm install @tryghost/portal@2.51.5
  ```

- ghost (npm): upgrade to 5.121.0 or later

  ```sh
  npm install ghost@5.121.0
  ```


## Technical details

This is a cross-site scripting (XSS) vulnerability (CWE-79) in the Ghost Portal preview functionality that fails to properly sanitize user-controlled input in preview links. The vulnerability affects Ghost versions 5.43.0–5.120.4 and 6.0.0–6.14.0, as well as Portal versions 2.29.1–2.51.4 and 2.52.0–2.57.0. The attack requires user interaction (clicking a malicious link) but no authentication by the attacker, allowing a network-based attacker to execute arbitrary JavaScript with the victim's permissions. The vulnerability has been patched in Ghost 5.121.0, 6.15.0, and Portal versions 2.51.5 and 2.57.1, which are automatically loaded via CDN for standard deployments.

## Affected products

- Ghost Ghost 5.43.0 to 5.120.4, 6.0.0 to 6.14.0
- Ghost Portal 2.29.1 to 2.51.4, 2.52.0 to 2.57.0

## Identifiers

- CVE-2026-24778
- GHSA-gv6q-2m97-882h

## Timeline

- 2026-01-27: disclosed: Published to NVD
- 2026-01-28: advisory: GitHub Security Advisory GHSA-gv6q-2m97-882h published
- 2026-01-28: patched: Patches available: Ghost 5.121.0, 6.15.0, Portal 2.51.5, 2.57.1

## References

- [https://github.com/TryGhost/Ghost/security/advisories/GHSA-gv6q-2m97-882h](https://github.com/TryGhost/Ghost/security/advisories/GHSA-gv6q-2m97-882h)

## 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)
