CVE-2023-23917
📋 TL;DR
A prototype pollution vulnerability in Rocket.Chat server versions below 5.2.0 allows attackers to achieve remote code execution (RCE) under admin privileges. This affects both cloud infrastructure (where users can create their own servers) and self-hosted instances. The vulnerability can escalate XSS attacks to RCE, significantly increasing the impact.
💻 Affected Systems
- Rocket.Chat
📦 What is this software?
Rocket.chat by Rocket.chat
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of Rocket.Chat server with admin-level RCE, potentially leading to lateral movement, data exfiltration, and full system control.
Likely Case
Unauthorized admin access leading to data theft, privilege escalation, and potential RCE on vulnerable instances.
If Mitigated
Limited impact with proper network segmentation, admin account protection, and monitoring in place.
🎯 Exploit Status
Exploitation requires user access but can lead to admin privileges and RCE. Prototype pollution can be chained with XSS for increased impact.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 5.2.0 and later
Vendor Advisory: https://github.com/RocketChat/Rocket.Chat/releases/tag/5.2.0
Restart Required: Yes
Instructions:
1. Backup your Rocket.Chat instance and database. 2. Update to Rocket.Chat version 5.2.0 or later. 3. Restart the Rocket.Chat service. 4. Verify the update was successful.
🔧 Temporary Workarounds
Restrict User Server Creation
allDisable ability for users to create their own servers in cloud deployments
Network Segmentation
allIsolate Rocket.Chat servers from critical infrastructure
🧯 If You Can't Patch
- Implement strict input validation and sanitization for user-controlled data
- Monitor for unusual admin account activity and prototype pollution attempts
🔍 How to Verify
Check if Vulnerable:
Check Rocket.Chat version via admin panel or by running: rocket.chat --version
Check Version:
rocket.chat --version
Verify Fix Applied:
Confirm version is 5.2.0 or higher and test prototype pollution vectors are blocked
📡 Detection & Monitoring
Log Indicators:
- Unusual admin account activity
- Prototype pollution attempts in request logs
- Unexpected server creation events
Network Indicators:
- Suspicious payloads in HTTP requests to Rocket.Chat endpoints
- Unusual outbound connections from Rocket.Chat server
SIEM Query:
source="rocketchat" AND (event="admin_login" OR event="server_create" OR message="*prototype*" OR message="*__proto__*")