SquirrelMail G/PGP plugin: Arbitrary code execution — GLSA 200708-08

Multiple vulnerabilities have been discovered in SquirrelMail, allowing for the remote execution of arbitrary code.

Affected packages

mail-client/squirrelmail on all architectures
Affected versions < 1.4.10a-r2
Unaffected versions >= 1.4.10a-r2

Background

SquirrelMail is a webmail package written in PHP. It supports IMAP and SMTP protocols.

Description

The functions deletekey(), gpg_check_sign_pgp_mime() and gpg_recv_key() used in the SquirrelMail G/PGP encryption plugin do not properly escape user-supplied data.

Impact

An authenticated user could use the plugin to execute arbitrary code on the server, or a remote attacker could send a specially crafted e-mail to a SquirrelMail user, possibly leading to the execution of arbitrary code with the privileges of the user running the underlying web server. Note that the G/PGP plugin is disabled by default.

Workaround

Enter the SquirrelMail configuration directory (/usr/share/webapps/squirrelmail/version/htdocs/config), then execute the conf.pl script. Select the plugins menu, then select the gpg plugin item number in the "Installed Plugins" list to disable it. Press S to save your changes, then Q to quit.

Resolution

All SquirrelMail users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=mail-client/squirrelmail-1.4.10a-r2"

References

Release date
August 11, 2007

Latest revision
August 11, 2007: 01

Severity
high

Exploitable
remote

Bugzilla entries