A fault in a widely used component of most Linux distributions could allow an attacker to take remote control of a system after merely sending a malicious email.
The vulnerability, nicknamed "Ghost," is in the GNU C Library known as glibc, according to security vendor Qualys, which disclosed the issue on Tuesday as many Linux distributions released patches. Glibc is a C library that defines system calls.
The bug first appeared in glibc in 2000. It actually was fixed on May 21, 2013, in between versions 2.17 and 2.18, Qualys CTO Wolfgang Kandek wrote in a blog post.
But at the time, the flaw wasn't recognized as a security risk, Kandek wrote. Most stable and long-term support Linux distributions weren't immediately modified, including Debian 7, Red Hat Enterprise Linux 6 and 7, CentOS 6 and 7 and Ubuntu 12.04.
Qualys found the problem during a code audit. It's unclear whether attackers exploited the vulnerability before it was found by the company.
It is one of many issues found over the last year in open-source software components, including Heartbleed, Poodle and Shellshock, that have caused alarm due to the large number of systems affected.
The flaw in Glibc exposes a buffer overflow that can be triggered locally and remotely in the "gethostbyname" functions. Applications using glibc get access to a DNS resolver, which converts hostnames into an IP address, Kandek wrote.
Qualys analysts developed a proof-of-concept exploit where they sent a specially crafted email to an Exim mail server running the vulnerable version of glibc and achieved a remote shell, giving them full control.
The company is not releasing the exploit until about half of all affected machines are patched, Kandek wrote. In a detailed advisory, Qualys said it will eventually release a Metasploit module for it. Metasploit is a toolkit used for penetration testing.
The issue with glibc could be "an annoying one to fix," wrote Mattias Geniar, a systems engineer with the Belgian hosting provider Nucleus, in a blog post.
"The update is in the glibc package, but that's a set of libraries that are being used by a lot of running services," Geniar wrote. "After the update, each of these services needs to be restarted."
He wrote the best action would be to reboot an entire server after it has been updated, and at minimum restart all public-facing services such as Web servers and mail servers.