SquirrelMail: Multiple vulnerabilities — GLSA 200501-39

SquirrelMail fails to properly sanitize user input, which could lead to arbitrary code execution and compromise webmail accounts.

Affected packages

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

Background

SquirrelMail is a webmail package written in PHP. It supports IMAP and SMTP and can optionally be installed with SQL support.

Description

SquirrelMail fails to properly sanitize certain strings when decoding specially-crafted strings, which can lead to PHP file inclusion and XSS.

  • Insufficient checking of incoming URLs in prefs.php (CAN-2005-0075) and in webmail.php (CAN-2005-0103).
  • Insufficient escaping of integers in webmail.php (CAN-2005-0104).

Impact

By sending a specially-crafted URL, an attacker can execute arbitrary code from the local system with the permissions of the web server. Furthermore by enticing a user to load a specially-crafted URL, it is possible to display arbitrary remote web pages in Squirrelmail's frameset and execute arbitrary scripts running in the context of the victim's browser. This could lead to a compromise of the user's webmail account, cookie theft, etc.

Workaround

The arbitrary code execution is only possible with "register_globals" set to "On". Gentoo ships PHP with "register_globals" set to "Off" by default. There are no known workarounds for the other issues at this time.

Resolution

All SquirrelMail users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=mail-client/squirrelmail-1.4.4"

Note: Users with the vhosts USE flag set should manually use webapp-config to finalize the update.

References

Release date
January 28, 2005

Latest revision
January 28, 2005: 01

Severity
high

Exploitable
remote

Bugzilla entries