
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-27602 is an OS command injection vulnerability in Modoboa, an open-source mail hosting and management platform. The flaw exists in the exec_cmd() function within modoboa/lib/sysutils.py, which unconditionally invokes subprocess.Popen with shell=True while passing unsanitized domain names directly into shell command strings. All versions up to and including 2.7.0 are affected; version 2.7.1 contains the fix. The vulnerability was published on March 25, 2026, and carries a CVSS v3.1 base score of 7.2 (High) (Github Advisory, Modoboa Advisory).
The root cause is classified as CWE-78 (Improper Neutralization of Special Elements used in an OS Command). The vulnerable exec_cmd() function in modoboa/lib/sysutils.py hardcoded kwargs["shell"] = True for all subprocess calls, meaning any user-controlled string interpolated into a command was interpreted by the shell. At least six distinct injection sinks were identified: DKIM key generation via openssl genrsa (embedding domain.name), mailbox rename via mv (embedding full_address), spam learning via sa-learn (embedding domain.name), mailbox lookup via doveadm user (embedding full_address), mail log graphing via rrdtool (embedding domain.name), and scheduled mail operations via doveadm move/delete (embedding account.email). The fix in commit 27a7aa1 removes the unconditional shell=True default and refactors all call sites to pass argument lists instead of interpolated strings, with shell=True retained only for safe, static commands like which (Modoboa Advisory, Patch Commit).
A Reseller or SuperAdmin who can create or modify domains can inject shell metacharacters into a domain name to execute arbitrary OS commands on the underlying mail server. In typical Modoboa deployments the application process runs as root, meaning successful exploitation yields full system compromise — including complete confidentiality loss (access to all mail data, credentials, and server secrets), integrity loss (ability to modify or delete any file), and availability impact (ability to crash or disable services). All six identified injection sinks are reachable through normal application workflows, broadening the attack surface beyond domain creation alone (Modoboa Advisory, Github Advisory).
A concrete proof-of-concept is publicly available in the GitHub security advisory, providing a step-by-step reproduction sequence that achieves command execution on a real Modoboa deployment (Modoboa Advisory). As of the time of reporting, there is no evidence of active in-the-wild exploitation, and no threat actor attribution has been made. The EPSS score is approximately 0.036% (11th percentile), indicating a currently low but non-negligible probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires Reseller-level or higher privileges, which limits the attack surface but does not eliminate risk in multi-tenant environments (Github Advisory).
$(id>/tmp/proof).example.com.exec_cmd(f"openssl genrsa -out {dkim_storage_dir}/{domain.name}.pem {key_size}"), which — because shell=True is set — causes the shell to evaluate the injected subcommand before executing openssl./tmp/proof (or the attacker's chosen output path). The file will contain the output of the injected command (e.g., uid=0(root) gid=0(root) groups=0(root)), confirming arbitrary OS command execution as the application user (typically root).$, (, ), `, |, ;); unexpected errors or output from openssl, mv, sa-learn, doveadm, or rrdtool commands logged by the application./tmp/ or other world-writable directories by the Modoboa process; new cron jobs, SSH authorized keys, or scripts added by the application user (often root); unexpected DKIM key files with anomalous names in the DKIM storage directory./bin/sh, bash, curl, wget, nc, python) visible in process trees; processes running as root initiated from the web application context.auditd) recording file writes, process executions, or privilege escalation events tied to the Modoboa service account around the time of suspicious domain creation activity (Modoboa Advisory).The primary remediation is to upgrade Modoboa to version 2.7.1 or later, which removes the unconditional shell=True from exec_cmd() and refactors all vulnerable call sites to use argument lists, eliminating the injection surface (Modoboa Release, Patch Commit). As an interim measure where immediate upgrade is not possible, restrict domain management capabilities to only fully trusted administrators and avoid granting Reseller-level access to untrusted parties. Additionally, review audit logs for any suspicious domain creation or modification activities involving shell metacharacters in domain names, and consider running the Modoboa application process under a least-privilege user account rather than root to limit the impact of any exploitation (Github Advisory).
The vulnerability was credited to researcher ByamB4, who discovered and reported it to the Modoboa project. The advisory was published by project maintainer tonioo on March 25, 2026, and the fix was merged promptly in the same release cycle. No significant broader media coverage or notable community controversy has been identified beyond standard vulnerability database aggregation (Modoboa Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."