Open Source · · 42 days
SquirrelMail plugin archives tried to mail passwords out
After a SquirrelMail web-server compromise in June 2009, the project found that three official plugin archives had been modified to mail user passwords to an offsite server.
SquirrelMail had another distribution problem in 2009, but this one lived in the plugin channel rather than the core webmail release. The project disclosed in June that its web server had been compromised, locked accounts, reset critical passwords, and took the plugin repository offline while it investigated. At first, the team said it believed the plugins themselves had not been altered.
The follow-up was worse. On July 30, SquirrelMail announced that three plugin packages on its own site were in fact compromised: sasql-3.2.0, multilogin-2.4-1.2.9, and change_pass-3.0-1.4.0. Those were not lookalike downloads. They were plugins administrators expected to obtain from the SquirrelMail plugin repository.
The injected PHP attempted to send mail to an offsite server containing passwords. That made the affected plugin set especially sensitive: two of the names, multilogin and change_pass, sit close to authentication and account-management workflows, where administrators would least want silent exfiltration code running inside the webmail stack.
SquirrelMail could not establish when the plugin packages had been modified. The practical advice was blunt: anyone using the affected versions should download fresh copies and compare against the clean MD5 hashes published with the July 30 notice. Unlike the 2007 release-tarball incident, this compromise came after an already-known server intrusion and showed why "we think the downloads are fine" has to be treated as a hypothesis until every artifact has been re-verified.
Notes
- The June 18 announcement bounded the incident: "The compromise of this server does not include a compromise of the source control, which is hosted on a separate repository managed by SourceForge." As in 2007, the distribution path was affected and version control was not.
- Upstream described the injected code only as attempting to send mail containing passwords to an offsite server, and could not establish a timeline. No successful credential theft was confirmed publicly.
Appendix · Affected releases
- a492922e5b0d2245d4e9bc255a7c5755 is the MD5 of the freshly restored clean sasql-3.2.0 archive, not the compromised archive.
- b143f2dc82f9e98dd43c632855255075 is the MD5 of the freshly restored clean multilogin-2.4-1.2.9 archive, not the compromised archive.
- Upstream labels this release 2.4-1.2.9, meaning plugin version 2.4 built for SquirrelMail 1.2.9. Only the plugin version is recorded in the version field.
- 2cff7c5d4f6f5d8455683bb5d96bb9fe is the MD5 of the freshly restored clean change_pass-3.0-1.4.0 archive, not the compromised archive.
- SquirrelMail said it could not establish when the three plugin packages were compromised, so the start date follows the public June 2009 web-server compromise disclosure rather than a confirmed first malicious package date.
- Upstream labels this release 3.0-1.4.0, meaning plugin version 3.0 built for SquirrelMail 1.4.0. Only the plugin version is recorded in the version field.
References
- SquirrelMail plugins compromisedlwn.net
- SM-ANNOUNCE: SECURITY: SquirrelMail Web Server Compromisemarc.info
- Plugins compromised in SquirrelMail's web server hackzdnet.com
- SquirrelMail open source email project hackedinfosecurity-magazine.com
Source record: oss/attacks/squirrelmail/meta.yaml