A privilege escalation vulnerability exists in Exim, the mail transfer agent used by cPanel & WHM.
This update has been rated as Critical by the cPanel Security team.
Research up to this point indicates the exploit is a buffer overflow vulnerability that takes advantage of the default Exim configuration settings related to altering Exim’s runtime configuration file along with overriding the macro definitions in the configuration file. This buffer overflow may lead to arbitrary code execution with the privileges of the user executing the Exim daemon. However, the Exim user retains root privileges when running the -C and -D command line flags. Through the creation of a temporary exim configuration which is processed with the -C or -D flags, the Exim user is able to execute arbitrary commands as root.
This vulnerability is tracked by CVE-2010-4345.
To resolve and work around the issue, for Linux-based systems cPanel has issued new Exim RPMs. The new version of Exim locks configuration file locations to the /etc/exim prefix as well as disabling use of the -D flag. Server Owners are strongly urged to upgrade to the following Exim RPM versions:
- Systems configured to use Maildir: Exim 4.69-25
- Systems configured to use mbox (deprecated): Exim 4.63-4
Exim RPMs will be distributed through cPanel’s package management system. All cPanel & WHM servers receiving updates automatically will receive the updated Exim RPM during normal update and maintenance operations (upcp). If you prefer to install the update right now, please run the following in a root shell:
On cPanel & WHM FreeBSD servers, Exim is an unmanaged install performed from the Ports system. To apply a like setup on FreeBSD systems, server administrators will need to perform the following manual configuration:
- Remove WITHOUT_ALT_CONFIG_PREFIX=yes from /etc/make.conf
- Add the following to /var/db/ports/exim/options
SEDLIST+= -e ‘s,^(ALT_CONFIG_PREFIX=).*,/etc/exim,’
SEDLIST+= -e ‘s,^\# (DISABLE_D_OPTION=),,’
- Change directory to /usr/ports/mail/exim
- Execute ‘make deinstall’
- Execute ‘make install’
Caution: the above changes have potential to be undone by /scripts/checkmakeconf, and updates to the Exim port. An upcoming version of cPanel & WHM 11.28 will resolve this for FreeBSD users.