HIGH 7.5

CVE-2026-58593: NodeBB ActivityPub Author Forgery – Impact, Detection, and Fixes

NodeBB's federation feature contains an authentication bypass that allows remote attackers to forge posts and direct messages as any local user, including administrators. When processing incoming ActivityPub messages, NodeBB verifies the sender's cryptographic signature but fails to validate that the claimed author (attributedTo field) actually corresponds to the authenticated remote actor. An attacker can exploit this by sending a message with attributedTo set to a local user ID (such as '1' for the admin account), and NodeBB will create the post or message attributed to that local user without proper verification.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weaknesses (CWE)
CWE-290, CWE-345
Affected products
1 configuration(s)
Published / Modified
2026-07-01 / 2026-07-07

NVD description (verbatim)

NodeBB does not bind the claimed author of an inbound ActivityPub object to the authenticated remote actor. The inbound middleware verifies the HTTP-signature actor and checks the origin of object.id, but never validates that attributedTo corresponds to the sender. In the object mock, attributedTo is used directly as a uid, and actors.assert silently ignores numeric identifiers (filtering them out without re-deriving the uid), so a federated remote actor can set attributedTo to a bare numeric value such as 1 and have the resulting post or private message created with that local uid as author, including the administrator account. This lets a remote attacker forge posts and direct messages attributed to arbitrary local users. Requires the ActivityPub/federation feature to be enabled.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in NodeBB's ActivityPub inbound middleware. While HTTP-signature verification correctly authenticates the remote actor and object.id origin validation occurs, the middleware does not cross-check that the attributedTo claim in the ActivityPub object matches the authenticated sender. The flaw is compounded by the object mock's direct use of attributedTo as a uid and actors.assert's silent filtering of numeric identifiers without re-deriving the actual uid. This allows an attacker to craft an ActivityPub message with attributedTo set to a numeric value representing a local NodeBB user account, bypassing author attribution controls and resulting in forged content creation under the target user's identity.

Business impact

This vulnerability undermines trust in federated NodeBB installations. An attacker can impersonate any local user, including administrators, to post false information, send private messages, or conduct social engineering attacks. In community-driven or enterprise deployments where federation enables inter-instance communication, this creates severe reputational and operational risks. Administrators may appear to endorse false statements or leak sensitive information they never sent. The ability to impersonate admin accounts particularly threatens account security and platform integrity.

Affected systems

NodeBB instances with the ActivityPub/federation feature enabled are affected. The vulnerability does not require authentication on the attacking system; an attacker needs only network access to the target NodeBB instance and the ability to send crafted ActivityPub messages (typically from a federated remote actor). All versions of NodeBB with ActivityPub support that do not properly validate attributedTo against the authenticated sender are in scope. Consult NodeBB advisories and verify your deployment's federation configuration to confirm exposure.

Exploitability

Exploitability is high. The attack requires no user interaction, no local authentication, and no special network privileges—only the ability to send an HTTP-signed ActivityPub message to the target instance. The barrier to exploitation is low for an actor with basic ActivityPub protocol knowledge and control of a federated instance or the ability to craft valid signatures. No complex race conditions or timing attacks are needed; the flaw is deterministic and reproducible.

Remediation

Disable the ActivityPub/federation feature on NodeBB instances that do not require it. For deployments that depend on federation, apply vendor security updates immediately upon release. The fix should enforce strict validation that attributedTo in incoming ActivityPub objects corresponds to the authenticated remote actor and reject or sanitize numeric attributedTo claims. Monitor NodeBB's security advisories and patch releases for the specific fix version.

Patch guidance

Consult NodeBB's official security advisory and patch releases. Apply the latest security patch as recommended by the vendor. Before deployment, verify in a staging environment that the patch correctly rejects forged attributedTo claims and that legitimate federated messages still process correctly. If federation is not required, consider disabling it administratively in NodeBB's configuration to eliminate the attack surface entirely.

Detection guidance

Monitor incoming ActivityPub requests for mismatches between the HTTP-signature actor and attributedTo claims. Log instances where attributedTo contains numeric values or differs from the authenticated sender. Review audit logs for posts or direct messages created with unexpected authorship, particularly those attributed to administrator accounts. Implement network-level monitoring to flag unusual ActivityPub traffic patterns from external instances. Check for posts or messages that reference administrative content but were allegedly sent by non-admin users.

Why prioritize this

This vulnerability scores CVSS 7.5 (HIGH) due to high integrity impact with network accessibility and no authentication requirement. While confidentiality is not directly breached, the ability to forge administrator communications and impersonate any user poses critical operational and legal risks. Organizations running federated NodeBB deployments should treat this as high priority. Even organizations without federation enabled should assess their deployment and ensure the feature is explicitly disabled if unused.

Risk score, explained

The CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N score reflects network-accessible, unauthenticated exploitation with no user interaction required and high integrity impact. The scope remains unchanged (the user's own security context), and no availability impact occurs. The absence of confidentiality impact prevents a critical rating, but integrity compromise of user identity and message content justifies the HIGH severity classification.

Frequently asked questions

Do I need to have an active federated relationship with another instance for this to be exploited?

No. An attacker does not need an existing federation trust relationship. They only need to send a properly formatted and signed ActivityPub message to your instance. If your instance has ActivityPub enabled and accepts federated messages, it is potentially vulnerable.

If we disable ActivityPub/federation, are we protected?

Yes. Disabling the ActivityPub/federation feature eliminates this attack surface entirely. If your NodeBB deployment does not require federation, this is the fastest and most effective remediation.

Could an attacker forge messages as my admin account and perform administrative actions?

An attacker can forge posts and direct messages attributed to the admin account, compromising message authenticity and enabling social engineering. However, this vulnerability does not grant the attacker elevated permissions or access to perform administrative actions that require authentication. The risk lies in impersonation and message forgery, not privilege escalation.

What should we look for in our audit logs to see if we've been exploited?

Search for posts or direct messages attributed to users (especially administrators) that seem out of character or were created from unexpected ActivityPub sources. Look for numeric or suspicious attributedTo values in application logs. Check for messages sent by admin accounts during times when administrators were not actively posting.

This analysis is based on published vulnerability data as of the date provided. CVSS scores and severity classifications reflect standardized metrics and may not capture all operational context unique to your environment. Always consult the official NodeBB security advisory and vendor guidance before deploying patches. The information provided is for educational and defensive purposes only. Organizations should conduct their own risk assessments based on their specific deployment, federation requirements, and threat model. Verify all patch version numbers and remediation steps against official vendor sources. Source: NVD (public-domain), retrieved 2026-08-10. Analysis generated by SEC.co (claude-haiku-4-5).