Skip to main content

NodeBB CVE-2026-73038

| EUVDEUVD-2026-58226 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-13 VulnCheck GHSA-fh4m-97qj-ff6c
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control ActivityPub-capable server or endpoint
  2. Delivery
    Craft Create/Note activity with malicious tag.icon.url or tag.name payload
  3. Exploit
    Deliver signed activity to NodeBB federation inbox
  4. Execution
    NodeBB renderEmoji stores unsanitized HTML in post content
  5. Persist
    Victim user views affected post
  6. Impact
    Injected JavaScript executes in victim browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target NodeBB instance has ActivityPub/Fediverse federation enabled and its inbox endpoint is reachable by external HTTP clients. No authentication on the NodeBB instance is required by the attacker - only control of an ActivityPub-capable endpoint to deliver the crafted Create/Note activity. Victim users must view a post or thread containing the malicious emoji tag content to trigger JavaScript execution in their browsers, consistent with UI:P in the CVSS 4.0 vector. Exploitation is NOT possible on NodeBB instances where ActivityPub federation is disabled. Instances that are firewalled from inbound external ActivityPub traffic or that run without federation configuration are not affected.

Impact

The CVSS 4.0 score of 5.3 (Medium) is appropriate for the vulnerability class: the attack is network-accessible with no authentication or special preparation (AV:N/AC:L/AT:N/PR:N), but requires a passive victim to view the poisoned post (UI:P) and impacts are bounded to subsequent-system scope (SC:L/SI:L/SA:N), meaning the NodeBB server itself is not directly compromised (VC:N/VI:N/VA:N). A key risk amplifier is the stored nature of the payload - a single malicious ActivityPub delivery poisons every future viewer of the affected thread, multiplying impact proportionally with forum traffic. No EPSS score was provided in the input data; this represents a gap in probabilistic exploitation assessment. The CVE is not listed in CISA KEV, and no POC code was identified, indicating no confirmed widespread active exploitation at time of analysis. Real-world risk is gated on whether ActivityPub federation is enabled, which may not be the default in all deployments; operators who have never activated Fediverse integration are not exposed. High-traffic forums with open federation face meaningfully higher aggregate risk than the moderate base score implies, and patching should be treated as urgent in those environments.

Exploit ScenarioDerived

An attacker controlling any ActivityPub-compatible server - or capable of crafting raw signed HTTP ActivityPub requests - sends a Create/Note activity to the target NodeBB instance's federation inbox, embedding a malicious payload in the tag.icon.url or tag.name field of a custom emoji object. NodeBB stores the unescaped content and renders it for every subsequent user who views the affected thread, executing the attacker's JavaScript in their browsers and potentially enabling session token theft, credential phishing overlays, or lateral propagation to other forum users.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Stored cross-site scripting in NodeBB before 4.15.0 allows any federated ActivityPub actor to inject persistent malicious JavaScript into forum posts viewed by all subsequent users. The renderEmoji function fails to HTML-encode tag.icon.url and tag.name values sourced from incoming ActivityPub Create/Note objects before writing them into stored post content, creating a durable XSS sink reachable from the open Fediverse. A vendor-released patch exists in NodeBB v4.15.0 (2026-08-12); no public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

The primary fix is upgrading to NodeBB v4.15.0 or later, released 2026-08-12, which adds emoji icon URL validation before rendering via commit c0d94a217edcafcdb9b3920a6e80935194bcb19e. The release is available at https://github.com/NodeBB/NodeBB/releases/tag/v4.15.0. If an immediate upgrade is not feasible, administrators who do not require Fediverse interoperability can disable the ActivityPub feature in NodeBB's admin settings, which removes the vulnerable ingest path entirely with no impact on local forum functionality. Restricting inbound federation to a whitelist of trusted ActivityPub instances reduces attack surface but requires ongoing maintenance and may disrupt legitimate federated interactions with previously trusted actors. Network-layer blocking of ActivityPub inbox delivery is not generally practical given the protocol's distributed design.

Affected VersionsENISA

NodeBB 0 <4.15.0

Affected Packages

euvd nodebb fix: 4.15.0

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

NodeBB is an open-source Node.js forum platform with native ActivityPub federation support, enabling interoperability with Mastodon, Pleroma, and other Fediverse software. The vulnerable code path is in the renderEmoji function, which processes custom emoji tag objects embedded in incoming ActivityPub Create/Note activities - the standard Fediverse mechanism for federated post creation. These tag objects carry icon.url (emoji image URL) and name (emoji shortcode) attributes. Before v4.15.0, neither attribute was sanitized or HTML-encoded prior to being written into stored post content and subsequently rendered in users' browsers. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause class - specifically the stored variant, where attacker-controlled input is persisted server-side and replayed to multiple victims. The fix commit c0d94a21 adds emoji icon URL validation before rendering, as confirmed in the v4.15.0 release notes. CPE cpe:2.3:a:nodebb:nodebb:*:*:*:*:*:*:*:* covers all NodeBB versions prior to 4.15.0.

Know when Nodebb 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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.1 MEDIUM

Network-delivered stored XSS with no auth required; scope changes to victims' browsers enabling JS execution; no server-side availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

DescriptionCVE.org

NodeBB before 4.15.0 contains a stored cross-site scripting vulnerability in the renderEmoji function that fails to escape tag.icon.url and tag.name attributes. Attackers can deliver malicious ActivityPub Create/Note objects with crafted emoji tags to inject arbitrary HTML and JavaScript into stored post content, executing code in all viewers' browsers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche open-source forum platform, limited enterprise adoption
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Nodebb

View all
CVE-2023-43187 CRITICAL POC
9.8 Sep 27

A remote code execution (RCE) vulnerability in the xmlrpc.php endpoint of NodeBB Inc NodeBB forum software prior to v1.1

CVE-2026-58593 HIGH POC
8.7 Jul 01

Author spoofing in NodeBB's ActivityPub federation allows a remote federated actor to forge posts and private messages a

CVE-2022-36076 HIGH POC
7.5 Sep 02

NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. Rated high sev

CVE-2021-43786 HIGH POC
7.5 Nov 29

Nodebb is an open source Node.js based forum software. Rated high severity (CVSS 7.5), this vulnerability is remotely ex

CVE-2021-43787 MEDIUM POC
6.1 Nov 29

Nodebb is an open source Node.js based forum software. Rated medium severity (CVSS 6.1), this vulnerability is remotely

CVE-2020-15149 CRITICAL
9.9 Aug 20

NodeBB before version 1.14.3 has a bug introduced in version 1.12.2 in the validation logic that makes it possible to ch

CVE-2023-26045 CRITICAL
9.8 Jul 24

NodeBB is Node.js based forum software. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2022-46164 CRITICAL POC
9.8 Dec 05

NodeBB is an open source Node.js based forum software. Rated critical severity (CVSS 9.8), this vulnerability is remotel

CVE-2022-36045 CRITICAL
9.8 Aug 31

NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. Rated critical

CVE-2024-57041 MEDIUM POC
4.6 Jan 24

A persistent cross-site scripting (XSS) vulnerability in NodeBB v3.11.0 allows remote attackers to store arbitrary code

CVE-2021-43788 MEDIUM POC
5.0 Nov 29

Nodebb is an open source Node.js based forum software. Rated medium severity (CVSS 5.0), this vulnerability is remotely

CVE-2022-3978 MEDIUM POC
4.3 Nov 13

A vulnerability, which was classified as problematic, was found in NodeBB up to 2.5.7. Rated medium severity (CVSS 4.3),

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy