Lucian Constantin
CSO Senior Writer

Ghost Linux vulnerability can be exploited through WordPress, other PHP apps

news
Jan 30, 20153 mins

Some Web applications written in PHP call a vulnerable glibc function, potentially opening the door to attacks

A critical vulnerability in glibc, a core Linux library, can be exploited remotely through WordPress and likely other PHP applications to compromise Web servers.

The buffer overflow vulnerability, dubbed Ghost, was reported Tuesday by researchers from security vendor Qualys. It is identified as CVE-2015-0235 in the Common Vulnerabilities and Exposures database.

The bug is located in the gethostbyname*() functions of the glibc (GNU C Library) version 2.17 and older. It was fixed in glibc-2.18, released in May 2013, but it wasn’t flagged as a security vulnerability at the time.

As a result, some Linux distributions, especially those developed for long-term support, did not backport the patch and were still using vulnerable glibc versions when the Qualys researchers identified the security implications of the bug during a code audit.

Exploiting the vulnerability for remote code execution also depends on other factors, like whether the targeted application uses the glibc gethostbyname*() functions and in what context. Researchers identified that clockdiff, procmail, pppd and the Exim mail server software could be used as attack vectors to some extent.

However, researchers from website security research firm Sucuri said Wednesday that they have good reasons to believe the flaw can also be exploited through Web applications written in PHP that use gethostbyname() function wrappers. This has the potentially to significantly expand the attack vectors.

One clear example of such a PHP application is WordPress, which uses a function called wp_http_validate_url() to validate the URLs of pingback posts.

“It does so by using gethostbyname(), so an attacker could leverage this vector to insert a malicious URL that would trigger a buffer overflow bug, server-side, potentially allowing him to gain privileges on the server,” Sucuri senior vulnerability researcher Marc-Alexandre Montpas said in a blog post.

In a comment to Montpas’s blog post, HD Moore, chief research officer at Rapid7 and main developer of the Metasploit penetration testing tool, posted a PHP command that can be used to check if a Web server is vulnerable.

Then Thursday, security researchers from Trustwave SpiderLabs created a proof-of-concept script to trigger the glibc buffer overflow though the WordPress pingback feature.

“This PoC allows users to remotely verify if a target web server is vulnerable to the CVE however it does not demonstrate exploitability,” they said in a blog post.

Nevertheless, WordPress users are advised to disable the XML-RPC process completely or to block pingback requests. Server administrators are advised to update their versions of glibc as soon as possible.

Debian 7 (wheezy), Red Hat Enterprise Linux 6 and 7, CentOS 6 and 7 and Ubuntu 12.04 were among the Linux distributions identified as vulnerable and which have since released patches.

“When attackers are attempting to exploit this vulnerability against your web servers, there will most likely be error messages (segmentation faults, etc…) that will indicate a problem,” the Trustwave researchers said. “Organizations should be vigilant in monitoring their logs and following up on an anomalous errors.”

Lucian Constantin

Lucian Constantin writes about information security, privacy, and data protection for CSO. Before joining CSO in 2019, Lucian was a freelance writer for VICE Motherboard, Security Boulevard, Forbes, and The New Stack. Earlier in his career, he was an information security correspondent for the IDG News Service and Information security news editor for Softpedia.

Before he became a journalist, Lucian worked as a system and network administrator. He enjoys attending security conferences and delving into interesting research papers. He lives and works in Romania.

You can reach him at lucian_constantin@foundryco.com or @lconstantin on X. For encrypted email, his PGP key's fingerprint is: 7A66 4901 5CDA 844E 8C6D 04D5 2BB4 6332 FC52 6D42

More from this author