Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperate a federated peer server
-
DeliveryCraft Undo with spoofed embedded Follow/Announce
-
ExploitDeliver to target Ghost ActivityPub inbox
-
ExecutionHandler skips actor verification
-
ImpactVictim's follow/repost removed
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target run the self-hosted Ghost ActivityPub service at an affected version (v1.0.0-v1.2.5) with federation active so that its inbox accepts and processes delivered activities from remote servers; the attacker must control or use a federated ActivityPub server capable of delivering a crafted Undo activity. No authentication is required against the target (PR:N) because federation inbox delivery is unauthenticated, and no user interaction is needed. Limiting factors that reduce real-world risk: impact is confined to removing an existing follow relationship or repost (integrity-only, re-establishable), no private data is exposed and no content is modified; Ghost Pro hosted instances (ap.ghost.org) are already fixed and need no action, so only self-hosters running their own activitypub image before v1.2.6 are exposed. The advisory states there is no application-level workaround; operators who cannot update can only reduce exposure by restricting which federated servers may reach the inbox at the network/proxy layer, which also limits normal federation. |
| Impact | This is a moderate-severity integrity flaw (CVSS 5.3, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) rooted in CWE-290/CWE-345/CWE-863: the Undo handler failed to verify that the Undo activity's actor matched the actor of the original Follow or Announce, so a remote federated server could remove another account's follow relationship or repost. The vuln.today decision label is 'this_month' rather than act_now/emergency, which aligns with the limited impact: integrity-only (I:L), no confidentiality or availability loss, and the affected relationships can be re-established. Exploitation status is 'no public exploit identified at time of analysis' - the only code references are the vendor fix (PR #1929, fix commit, release v1.2.6), which are remediation artifacts, not exploit code; there is no KEV listing and no EPSS score was supplied, so widespread or automated exploitation is not evidenced. The network-unauthenticated vector is real because any federated peer can deliver to the inbox, but the payoff is low (nuisance-level social-graph tampering), so this reads as a genuine but non-urgent fix rather than a high-priority emergency. Missing signals to note explicitly: no EPSS, no KEV, and no independent confirmation of in-the-wild abuse. |
| Exploit ScenarioDerived | A malicious or compromised federated ActivityPub server crafts an Undo activity whose actor is itself but whose embedded Follow or Announce object belongs to a different, legitimate account, then delivers it to a vulnerable Ghost ActivityPub inbox (v1.0.0-1.2.5). Because the pre-patch handler did not confirm the Undo actor matched the original activity's actor, the service removes the victim account's follow relationship or repost on their behalf. No public working exploit is identified; only the vendor fix is published, though the simple logic makes the attack trivially reproducible from the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Ghost's ActivityPub service (self-hosted activitypub image, v1.0.0 through v1.2.5) fails to verify that an incoming Undo activity's actor matches the actor of the original Follow or Announce, letting a remote federated server unfollow or strip a repost belonging to another account without that account's involvement. The impact is integrity-only and re-establishable: no private data is exposed and no content is modified, which matches the assessed CVSS 5.3 vector (network, no privileges or interaction, integrity low only). Only self-hosters running their own activitypub deployment with federation enabled are exposed, since Ghost Pro hosted instances at ap.ghost.org were already updated; fixes are released in v1.2.6 and there is no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: 1.2.6. Self-hosters running their own ActivityPub service should update the activitypub image to v1.2.6 or later and redeploy, following the Docker instructions at https://docs.ghost.org/install/docker#enabling-social-web-activitypub or the Ghost-CLI instructions at https://docs.ghost.org/update-major-version#get-activitypub-ready; the fix is in PR https://github.com/TryGhost/ActivityPub/pull/1929 and commit https://github.com/TryGhost/ActivityPub/commit/1526f540b983da97750b380868a210e6cdfb985e. Operators proxying to ap.ghost.org need no action. The advisory states there is no application-level workaround; operators who cannot update immediately can only reduce exposure by restricting which federated servers may deliver to the inbox at the network or proxy layer, accepting that this also limits normal federation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghost's ActivityPub implementation is a multi-tenant federated server built on the Fedify framework, which handles ActivityPub inbox delivery and dispatches activities to typed handlers such as createUndoHandler in src/dispatchers.ts. Undo is the ActivityPub verb used to retract a previously sent activity, and here it wraps either a Follow or an Announce (repost) object. The root cause class is CWE-290 (authentication bypass by spoofing) compounded by CWE-345 (insufficient verification of data authenticity) and CWE-863 (incorrect authorization): the handler acted on the embedded Follow/Announce based solely on the object's contents, without cross-checking that the Undo's own actorId was equal to the actorId of the Follow or Announce being undone. The upstream fix adds an isEqual helper check on the URIs and returns early with a debug log when undo.actorId is missing or does not match follow.actorId or object.actorId, with unit tests covering both Undo(Follow) and Undo(Announce) paths - including a test asserting the mismatched-actor case performs no account lookup and records no unfollow. Because federation inbox delivery is unauthenticated by design, any server able to deliver activities to the instance's inbox could attempt this; the trigger requires a controlled federated server capable of crafting the Undo payload. Affected CPE: cpe:2.3:a:tryghost:activitypub:*:*:*:*:*:*:*:*, i.e. >= 1.0.0 and <= 1.2.5.
Know when Activitypub gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Remote unauthenticated via federation inbox delivery (AV:N/PR:N/UI:N/AC:L); only existing relationships are removed, so I:L with no confidentiality or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
ActivityPub is a multi-tenant ActivityPub server for Ghost, built with Fedify. From 1.0.0 until 1.2.6, the Undo handler allows a remote federated server to cause the service to act on a follow or repost as though the activity came from a different account. This permits removal of an existing follow relationship or repost belonging to another account without that account's involvement. No private data is exposed and content is not modified; the affected relationships can be re-established. Services proxying to Ghost's hosted ActivityPub server have already been updated, while self-hosted services require an updated image and redeployment. This issue is fixed in version 1.2.6.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Activitypub
View allHeap-based buffer overflow in snac2 before 2.93 enables unauthenticated remote attackers to crash the ActivityPub server
Improper access control in the ActivityPub WordPress plugin before 8.0.2 exposes draft, scheduled, and pending posts to
The ActivityPub WordPress plugin before 1.0.0 does not escape user metadata before outputting them in mentions, which co
The ActivityPub WordPress plugin before 1.0.0 does not sanitize and escape some data from post content, which could allo
Missing actor-identity and object-ownership checks in the Discourse ActivityPub plugin allow remote attackers to edit, d
Replay of previously signed ActivityPub requests against YesWiki's public /api/forms/{formId}/actor/inbox endpoint lets
The ActivityPub WordPress plugin before 1.0.0 does not ensure that post contents to be displayed are public and belong t
The ActivityPub WordPress plugin before 1.0.0 does not ensure that post titles to be displayed are public and belong to
EUVD-2026-114518
NVD
CVE.org
EPSS
GitHub
Exploit-DB