Security Announcements

[20161205] - PHPMailer Security Advisory

Project: Joomla!

Joomla! Severity: High

Versions: 1.5.0 through 3.6.5

1.5.0 through 3.6.5 Exploit type: Remote Code Execution in third-party PHPMailer library

Remote Code Execution in third-party PHPMailer library CVE Numbers: CVE-2016-10033 and CVE-2016-10045

Note: This advisory was revised to reflect the addition of CVE-2016-10045 and the PHPMailer 5.2.20 release

Description

All versions of the third-party PHPMailer library distributed with Joomla! versions up to 3.6.5 are vulnerable to a remote code execution vulnerability. This is patched in PHPMailer 5.2.20 which will be included with Joomla! 3.7. After analysis, the JSST has determined that through correct use of the JMail class, there are additional validations in place which make executing this vulnerability impractical within the Joomla environment. As well, the vulnerability requires being able to pass user input to a message's "from" address; all places in the core Joomla API which send mail use the sender address set in the global configuration and does not allow for user input to be set elsewhere. However, extensions which bundle a separate version of PHPMailer or do not use the Joomla API to send email may be vulnerable to this issue.

Generally, the Joomla project does not issue advisories regarding third party libraries, however given the severity of this issue we felt it important to advise our users that we are aware of this issue and we have determined that the additional validations in our API prevent triggering this vulnerability.

Affected Installs

Joomla! CMS versions 1.5.0 through 3.6.5

Solution

No action required for Joomla users, the updated library will be included in the next scheduled release and additional mechanisms exist in Joomla core to prevent triggering the vulnerability. Users of the PHPMailer library separate from Joomla are advised to upgrade to 5.2.20 or newer ASAP.

Additional Resources

Contact

The JSST at the Joomla! Security Centre.

Reported By: Dawid Golunski