Improper Input Validation Affecting squirrelmail package, versions <2:1.4.23~svn20120406-2+deb8u1ubuntu0.16.04.1


Severity

Recommended
medium

Based on Ubuntu security rating.

Threat Intelligence

Exploit Maturity
Mature
EPSS
6.23% (94th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Improper Input Validation vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-UBUNTU1604-SQUIRRELMAIL-311773
  • published20 Apr 2017
  • disclosed20 Apr 2017

Introduced: 20 Apr 2017

CVE-2017-7692  (opens in a new tab)
CWE-20  (opens in a new tab)

How to fix?

Upgrade Ubuntu:16.04 squirrelmail to version 2:1.4.23~svn20120406-2+deb8u1ubuntu0.16.04.1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream squirrelmail package and not the squirrelmail package as distributed by Ubuntu. See How to fix? for Ubuntu:16.04 relevant fixed versions and status.

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.