Skip to content
OpenAdvisories
Unscored Public exploit CVE-2017-7692 EUVD-2017-16668GHSA-w6jv-pvcq-chp4

SquirrelMail 1.4.22 (and other versions before 20170427_0200-SVN) allows post-authentication remote code execution via a sendmail.cf file t…

Published Apr 20, 2017 · Updated Aug 5, 2024 · Assigned by mitre

Description

SquirrelMail 1.4.22 (and other versions before 20170427_0200-SVN) allows post-authentication remote code execution via a sendmail.cf file that is mishandled in a popen call. It's possible to exploit this vulnerability to execute arbitrary shell commands on the remote server. The problem is in the Deliver_SendMail.class.php with the initStream function that uses escapeshellcmd() to sanitize the sendmail command before executing it. The use of escapeshellcmd() is not correct in this case since it doesn't escape whitespaces, allowing the injection of arbitrary command parameters. The problem is in -f$envelopefrom within the sendmail command line. Hence, if the target server uses sendmail and SquirrelMail is configured to use it as a command-line program, it's possible to trick sendmail into using an attacker-provided configuration file that triggers the execution of an arbitrary command. For exploitation, the attacker must upload a sendmail.cf file as an email attachment, and inject the sendmail.cf filename with the -C option within the "Options > Personal Informations > Email Address" setting.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 8 squirrelmail 2:1.4.23~svn20120406-2+deb8u1 DSA-3852-1
Debian 7 squirrelmail 2:1.4.23~svn20120406-2+deb7u1 DLA-941-1
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS squirrelmail 2:1.4.23~svn20120406-2+deb8u1ubuntu0.16.04.1 —
Ubuntu 14.04 LTS squirrelmail 2:1.4.23~svn20120406-2+deb8u1build0.14.04.1 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

Exploit-DB 1

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 2

References