CVE-2026-53950 @tryghost/activitypub: XSS in Ghost's ActivityPub client

High 7.5 Published Updated

An attacker can inject JavaScript into Ghost posts via a malicious ActivityPub server, potentially compromising user sessions or data.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-53950?

CVE-2026-53950 is a high-severity cross-site scripting vulnerability in TryGhost Ghost, published on 24 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

@tryghost/activitypub is Ghost’s social/federation client app. Prior to 3.1.0, the ActivityPub client in Ghost was vulnerable to JavaScript injection on posts shared by a maliciously customised ActivityPub server. This vulnerability is fixed in 3.1.0.

Weakness: CWE-79

Which versions are affected by CVE-2026-53950?

3 open source packages ship an affected version, including @tryghost/activitypub and ghost.

PackageAffectedFixed in
@tryghost/activitypub npmAll versions3.1.0
@tryghost/activitypub npmAll versions3.1.0
ghost BitnamiAll versions3.1.0

How do I fix CVE-2026-53950?

Upgrade @tryghost/activitypub to 3.1.0 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-53950 being exploited?

There is no known exploitation of CVE-2026-53950 in the wild and no public exploit code.

Sources

Also known as BIT-ghost-2026-53950, GHSA-xpp7-93x6-v29m.

Is CVE-2026-53950 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free