Monday, January 27, 2025
HomeCross site ScriptingMailcow Mail Server Vulnerability Let Attackers Execute Remote Code

Mailcow Mail Server Vulnerability Let Attackers Execute Remote Code

Published on

SIEM as a Service

Follow Us on Google News

Two critical vulnerabilities (CVE-2024-31204 and CVE-2024-30270) affecting Mailcow versions before 2024-04 allow attackers to execute arbitrary code on the server.

An attacker can exploit these vulnerabilities by sending a specially crafted email to an administrator. 

When the administrator views the email while logged into the admin panel, the attacker can inject malicious scripts and gain complete control of the server.

Scan Your Business Email Inbox to Find Advanced Email Threats - Try AI-Powered Free Threat Scan

Mailcow’s admin panel in PHP uses a custom exception handler to store error messages in the user session, which are then retrieved and displayed in an alert box on the next page load. 

Result

The process involves parsing the session data, injecting the error messages into a JavaScript function call within a template, and finally rendering an alert box using a JavaScript library upon receiving the message in the browser. 

It creates a vulnerability because the error messages are not sanitized before being displayed, potentially allowing attackers to inject malicious scripts. 

CVE-2024-31204 is an XSS vulnerability in MailCow’s admin panel that exists because the jQuery-based notification library doesn’t escape HTML entities properly, allowing attackers to inject malicious scripts by controlling the content of an exception being raised. 

resulting string representation

The attacker can achieve this because the exception handler uses print_r() to include function call stack arguments in the error message, which bypasses Twig’s escaping mechanism. 

By sending a malicious email with a background image that references the vulnerable API endpoint with a specially crafted URL, an attacker can exploit the explode() function in json_api.php by providing an array as input through a crafted query string. 

The email client, bypassing restrictions due to the relative URL, executes the script embedded in the query string, injecting an XSS payload into the victim’s session for exploitation upon their next visit to the admin panel.  

malicious request

SonarCloud discovered a vulnerability (CVE-2024-30270) in MailCow’s rspamd_maps function that allows an attacker to overwrite arbitrary files, stems from insufficient validation of user-supplied input, which can lead to an attacker crafting a path traversal payload to overwrite system files. 

While this vulnerability can’t be used for arbitrary file creation due to existence checks, an attacker could overwrite critical PHP files with malicious code to compromise the server.  

An attacker can exploit a writable template cache directory in Mailcow’s Twig templating engine, and by overwriting a compiled template file with malicious code, the attacker can execute arbitrary commands when the corresponding page is accessed. 

While Mailcow’s disabled PHP functions mitigate this, the mail() function remains enabled, allowing attackers to craft emails with multi-stage payloads to bypass these restrictions and execute commands on the server. 

The mailcow maintainers addressed the XSS vulnerability (CVE-2024-31204) by encoding all HTML special characters in exception details before rendering them in the template.

For the file path vulnerability (CVE-2024-30270), they strengthened the validation logic to ensure only allowed map types are used.

Additionally, they implemented new security measures to prevent similar attacks in the future by adding checks to differentiate between API requests and normal web requests by looking for specific headers sent by browsers, such as the Referer header and the Sec-Fetch-Dest header.

Free Webinar! 3 Security Trends to Maximize MSP Growth -> Register For Free

Raga Varshini
Raga Varshini
Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Latest articles

Critical Vulnerability in Meta Llama Framework Let Remote Attackers Execute Arbitrary Code

The Oligo Research team has disclosed a critical vulnerability in Meta’s widely used Llama-stack...

INE Security Alert: Expediting CMMC 2.0 Compliance

INE Security, a leading global provider of cybersecurity training and certifications, today announced a...

Subaru’s STARLINK Connected Car’s Vulnerability Let Attackers Gain Restricted Access

In a groundbreaking discovery on November 20, 2024, cybersecurity researchers Shubham Shah and a...

Android Kiosk Tablets Vulnerability Let Attackers Control AC & Lights

A security flaw found in Android-based kiosk tablets at luxury hotels has exposed a...

API Security Webinar

Free Webinar - DevSecOps Hacks

By embedding security into your CI/CD workflows, you can shift left, streamline your DevSecOps processes, and release secure applications faster—all while saving time and resources.

In this webinar, join Phani Deepak Akella ( VP of Marketing ) and Karthik Krishnamoorthy (CTO), Indusface as they explores best practices for integrating application security into your CI/CD workflows using tools like Jenkins and Jira.

Discussion points

Automate security scans as part of the CI/CD pipeline.
Get real-time, actionable insights into vulnerabilities.
Prioritize and track fixes directly in Jira, enhancing collaboration.
Reduce risks and costs by addressing vulnerabilities pre-production.

More like this

Critical Vulnerability in Meta Llama Framework Let Remote Attackers Execute Arbitrary Code

The Oligo Research team has disclosed a critical vulnerability in Meta’s widely used Llama-stack...

CISA Releases Six ICS Advisories Details Security Issues

The U.S. Cybersecurity and Infrastructure Security Agency (CISA) issued six Industrial Control Systems (ICS)...

370+ Ivanti Connect Secure Exploited Using 0-Day Vulnerability

A major cybersecurity incident has come to light, with more than 370 Ivanti Connect...