CVE-2025-29512
MediumCVSS 6.1Exploitation Probability (EPSS)
Low risk14th percentile - higher than 14% of all known CVEs
Summary
A Cross-Site Scripting (XSS) vulnerability in NodeBB v4.0.4 and earlier allows remote attackers to store arbitrary JavaScript code, potentially rendering the IP blacklist functionality unusable until the malicious content is removed from the database.
Risk Assessment
An attacker can steal user sessions, redirect users to malicious sites, or permanently disrupt the IP blocking mechanism, increasing the risk of further attacks and loss of trust.
Recommendation
Immediately upgrade NodeBB to version 4.0.5 or later, remove any suspicious content from the database, and implement input filtering and output encoding.
Other vulnerabilities in NodeBB
See all- CVE-2025-29513Medium
Cross-Site Scripting (XSS) vulnerability in NodeBB v4.0.4 and before allows remote attackers to store arbitrary code in the admin API Access token generator.
- CVE-2024-57041Medium
A persistent cross-site scripting (XSS) vulnerability was found in NodeBB v3.11.0. An attacker can store arbitrary JavaScript code in the 'About Me' section of their profile.
- CVE-2026-73038Medium
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.
- CVE-2026-58593High
A vulnerability in NodeBB allows a remote attacker to impersonate any local user, including the administrator, by forging posts and private messages via the ActivityPub protocol. The issue stems from missing validation that the authenticated remote actor is the actual author of the ActivityPub object.
Original NVD description (English source)
Cross-Site Scripting (XSS) vulnerability in NodeBB v4.0.4 and before allows remote attackers to store arbitrary code and potentially render the blacklist IP functionality unusable until content is removed via the database.

