Rapid7 Vulnerability & Exploit Database

Qmail SMTP Bash Environment Variable Injection (Shellshock)

Back to Search

Qmail SMTP Bash Environment Variable Injection (Shellshock)



This module exploits a shellshock vulnerability on Qmail, a public domain MTA written in C that runs on Unix systems. Due to the lack of validation on the MAIL FROM field, it is possible to execute shell code on a system with a vulnerable BASH (Shellshock). This flaw works on the latest Qmail versions (qmail-1.03 and netqmail-1.06). However, in order to execute code, /bin/sh has to be linked to bash (usually default configuration) and a valid recipient must be set on the RCPT TO field (usually admin@exampledomain.com). The exploit does not work on the "qmailrocks" community version as it ensures the MAILFROM field is well-formed.


  • Mario Ledo (Metasploit module)
  • Gabriel Follon (Metasploit module)
  • Kyle George (Vulnerability discovery)






Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/unix/smtp/qmail_bash_env_exec
msf exploit(qmail_bash_env_exec) > show targets
msf exploit(qmail_bash_env_exec) > set TARGET < target-id >
msf exploit(qmail_bash_env_exec) > show options
    ...show and set options...
msf exploit(qmail_bash_env_exec) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security