Exim maintainers have warned of an in-the-wild attack that allowed the miscreants to execute malicious code with unfettered system privileges by exploiting a bug in older versions of the open-source mail transfer agent.
The memory-corruption vulnerability resides in Exim 4.69 and earlier versions, and already has been used in at least one attack to completely root an enterprise server, according to this account. Security pros have sounded the alarm because the vulnerability is remotely exploitable and is already being used maliciously. What's more, attack code has also been added to the Metasploit exploitation kit, making it easy for others to reproduce the attack.
“It doesn't get much worse than remote code execution as root,” said Dan Rosenberg, a security consultant for Virtual Security Research. “You can just run your exploit on the network and execute code. You don't need any user interaction.”
Maintainers for the Debian and Red Hat distributions of Linux have already issued patches, and their counterparts for other distributions are sure to follow soon. The most reliable fix is to update to version 4.7. Exim maintainer David Woodhouse has compiled a list of other options and short-term fixes here.
The vulnerability was patched in 2008, in version 4.7. But the fix was never identified as a security patch so it was never applied to older versions, which are still in wide use. The bug is exploited by sending vulnerable systems a message with maliciously crafted headers and a 50MB payload. When it gets rejected for being too large and logged, the headers exploit a buffer overflow bug.
The code-execution attack works in concert with a privilege-escalation vulnerability that results when admins want to use multiple configuration files, a popular option that offers convenience and flexibility in many cases. Exim is now recommending that option be turned off so that root privileges are required to override the default configuration file.
Although the in-the-wild attack wasn't reported until early Wednesday, it wasn't until early Friday that Exim maintainers were able to reproduce the exploit.
“It depends on hitting certain buffer sizes of exactly the right length,” Woodhouse told The Register. He said the 2008 patch was never backported because “the security implications didn't occur to those who were dealing with it at the time. Obviously, someone did look at it, and saw it as an opportunity.”
The overlooked bug is a cautionary tale about the dangers of fixing security bugs and then failing to issue explicit advisories.
“It really underscores the importance of singling out security issues and publicizing them as such,” Rosenberg said. “Otherwise, this sort of thing can happen.” ®