Attackers have abused the WordPress pingback feature, which allows sites to cross-reference blog posts, to launch a large-scale, distributed denial-of-service (DDoS) attack, according to researchers from Web security firm Sucuri.
The attack involved over 162,000 legitimate WordPress websites being forced to send hundreds of requests per second to a popular WordPress site, preventing access to it for many hours, said Daniel Cid, the CTO of Sucuri, in a blog post Monday. The affected site wasn’t named.
The attack exploited an issue with the XML-RPC (XML remote procedure call) implementation in WordPress that’s used for features like pingback, trackback, remote access from mobile devices and others, and brought back into the spotlight the denial-of-service risks associated with this functionality that have been known since 2007.
"Any WordPress site with XML-RPC enabled (which is on by default) can be used in DDoS attacks against other sites,” Cid said in the blog post.
The recent incident investigated by Sucuri attackers sent XML-RPC requests to legitimate WordPress sites instructing them to make pingback calls to randomly generated URLs on the targeted site.
Most WordPress sites have caching enabled, which means they serve previously visited pages from their cache. This puts less stress on the server than it would take to generate and serve those pages every time.
However, by using random URLs that don’t actually exist, the attackers bypassed the caching mechanism and forced the target site to perform full page reloads.
Unlike network-layer attacks, attacks like this one that target the application layer don’t require a lot of bandwidth to be successful, Cid said Tuesday via email.
For attackers, the advantage of abusing the WordPress pingback feature in this manner is that they can spread their attacks over a large number of unique IP addresses, making it harder for the targeted sites to block them, Cid said. “It does not amplify the bandwidth utilization, but the scale and reach of the attack.”
The WordPress bug ticket related to the pingback DDoS issue was originally created in 2007 and reveals that WordPress’ developers tried to partially mitigate the problem with several patches over the years, last time in WordPress 3.6, which was released in August.
However, completely disabling XML-RPC in the platform itself is unlikely because it’s needed for important features.
"I spoke to the WordPress team and they are investigating ways to minimize this issue, while still having the pingback functionality available (which is important for them),” Cid said.
However, Matt Mullenweg, the WordPress project lead, doesn’t agree with Sucuri’s suggestion that XML-RPC poses a threat or that disabling it is a solution.
"This tradeoff in pingback’s design has been there for a decade now,” he said via email. “It’s seldom used outside of experimentation because it gets shut down by anti-spam providers like Akismet or web hosts when used at any scale, and there are cheaper, easier, and more effective ways to DDOS sites. That’s why no serious attacks (above 2gbps) use it.”
However, it’s not the first time when Web security firms have reported DDoS attacks leveraging the WordPress pingback functionality. Security firm Incapsula reported that in July 2013 one of its customers was targeted in a pingback DDoS attack from 50,000 bots that generated a total of 8 million page hits at a rate of 1,000 hits per second.
Many Web application firewalls are likely to have detection and blocking rules for this type of attack already. The Sucuri blog post also contains a snippet of code that WordPress site owners can add to their themes to disable the pingback feature and prevent their sites from being misused in attacks.