Description
It was observed the application allows users to upload files and was discovered to have insufficient safeguards to ensure the uploaded file is not malicious. Malicious files that are uploaded could have a wide range of effects depending on the affected application such as storing malware or gaining access via command execution.
Understand from this documentation clamav integration via the marketplace, but since we are on air-gapped, is there any other possible way?
Any help would be appreciated!
Steps to reproduce:
-
- Login as any user to the application at a self-hosted URL.
-
- Start a conversation with any user by using the search function (Magnifying glass icon in on the top left) and selecting any other user.
-
- Select the “Upload File” button (Paperclip icon) just below the message box.
-
- Select any file to upload and click “Send”.
-
- Observe that a HTML containing an XSS payload and an EICAR file could be successfully uploaded and downloaded by users.
Server Setup Information
- Version of Rocket.Chat Server: v6.9.2
- Operating System: Linux System
- Deployment Method: Docker
- Number of Running Instances: 1 Server & 1 Database instance
- NodeJS Version: 14.21.3
- MongoDB Version: 6.0.15
Any additional Information
Things to note:
- We are running rocketchat integration with LDAP
- We are running a community version
- We are on an air-gapped controlled server