CVE-2021-47746

7.5 HIGH

📋 TL;DR

NodeBB Plugin Emoji 3.2.1 contains an arbitrary file write vulnerability that allows administrative users to write files to arbitrary system locations through the emoji upload API. Attackers with admin access can craft file upload requests with directory traversal to overwrite system files by manipulating the file path parameter. This affects NodeBB forum installations using the vulnerable emoji plugin version.

💻 Affected Systems

Products:
  • NodeBB Plugin Emoji
Versions: 3.2.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires administrative access to NodeBB to exploit. The vulnerability is in the plugin itself, not the core NodeBB software.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise via overwriting critical system files, installation of backdoors, or achieving remote code execution by writing malicious scripts to executable locations.

🟠

Likely Case

Data corruption, service disruption, or privilege escalation by overwriting configuration files, user data, or NodeBB application files.

🟢

If Mitigated

Limited impact if proper file permission restrictions and input validation are in place, though admin compromise remains a significant risk.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires administrative credentials. Public exploit code is available in the Exploit-DB reference.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.2 or later

Vendor Advisory: https://github.com/NodeBB/nodebb-plugin-emoji

Restart Required: Yes

Instructions:

1. Update NodeBB Plugin Emoji to version 3.2.2 or later via NodeBB Admin Control Panel or npm. 2. Restart NodeBB service. 3. Verify the plugin version is updated.

🔧 Temporary Workarounds

Disable Emoji Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

npm uninstall nodebb-plugin-emoji
Restart NodeBB service

Restrict Admin Access

all

Temporarily limit administrative access to only essential personnel

🧯 If You Can't Patch

  • Immediately revoke administrative access from all non-essential users and implement strict monitoring of admin activity.
  • Implement file integrity monitoring on critical system directories and NodeBB installation paths to detect unauthorized file writes.

🔍 How to Verify

Check if Vulnerable:

Check the installed version of nodebb-plugin-emoji via npm: npm list nodebb-plugin-emoji

Check Version:

npm list nodebb-plugin-emoji

Verify Fix Applied:

Verify the plugin version is 3.2.2 or later using: npm list nodebb-plugin-emoji | grep nodebb-plugin-emoji

📡 Detection & Monitoring

Log Indicators:

  • Unusual file write operations in NodeBB logs
  • Multiple failed or successful emoji upload attempts from admin accounts
  • Directory traversal patterns in upload requests

Network Indicators:

  • HTTP POST requests to emoji upload endpoint with path traversal sequences (../)
  • Unusual file upload sizes or patterns from admin IPs

SIEM Query:

source="nodebb.log" AND ("emoji/upload" OR "../") AND user_role="admin"

🔗 References

📤 Share & Export