CVE-2024-55466

6.5 MEDIUM

📋 TL;DR

This CVE describes an arbitrary file upload vulnerability in ThingsBoard's Image Gallery component that allows attackers to upload malicious files and execute arbitrary code on affected systems. The vulnerability affects ThingsBoard Community, ThingsBoard Cloud, and ThingsBoard Professional versions. Attackers can potentially gain full control of the ThingsBoard server through this flaw.

💻 Affected Systems

Products:
  • ThingsBoard Community
  • ThingsBoard Cloud
  • ThingsBoard Professional
Versions: v3.8.1
Operating Systems: All platforms running ThingsBoard
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the Image Gallery component which is enabled by default in affected versions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining root/admin privileges, data exfiltration, ransomware deployment, and lateral movement within the network.

🟠

Likely Case

Remote code execution leading to server takeover, installation of backdoors, cryptocurrency miners, or participation in botnets.

🟢

If Mitigated

Limited impact with proper file upload restrictions, but still potential for denial of service or limited file system access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authentication to access the Image Gallery upload feature. Public proof-of-concept code is available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v3.8.2 or later

Vendor Advisory: https://github.com/thingsboard/thingsboard/releases/tag/v3.8.1

Restart Required: Yes

Instructions:

1. Backup your ThingsBoard instance and database. 2. Download and install ThingsBoard v3.8.2 or later from the official releases. 3. Follow the upgrade instructions for your deployment type (Docker, manual, etc.). 4. Restart the ThingsBoard service. 5. Verify the upgrade was successful.

🔧 Temporary Workarounds

Disable Image Gallery Upload

all

Temporarily disable file upload functionality in the Image Gallery component

Modify ThingsBoard configuration to restrict file uploads or disable the Image Gallery feature entirely

Implement Web Application Firewall Rules

all

Block malicious file uploads at the network perimeter

Configure WAF to block file uploads with dangerous extensions (.jsp, .php, .exe, etc.) and suspicious content patterns

🧯 If You Can't Patch

  • Implement strict file upload validation: only allow specific image formats (jpg, png, gif) and validate file signatures
  • Restrict network access to ThingsBoard instances using firewall rules and implement network segmentation

🔍 How to Verify

Check if Vulnerable:

Check if running ThingsBoard v3.8.1 by examining version files or using the admin interface

Check Version:

Check the ThingsBoard UI admin panel or examine the version.txt file in the installation directory

Verify Fix Applied:

Verify version is v3.8.2 or later and test file upload functionality with restricted file types

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to Image Gallery endpoint
  • Files with non-image extensions being uploaded
  • Suspicious process execution following file uploads

Network Indicators:

  • HTTP POST requests to /api/file/upload with unusual file types
  • Outbound connections from ThingsBoard server to unknown IPs

SIEM Query:

source="thingsboard" AND (uri_path="/api/file/upload" AND file_extension NOT IN ("jpg","png","gif","jpeg"))

🔗 References

📤 Share & Export