Posted by Virus Bulletin on May 1, 2013
Millions of sites could potentially be used in attack.
Security firm Incapsula reports that it has discovered a DDoS attack on a gaming website using thousands of legitimate WordPress blogs without the need for them to be compromised.
Today's most common method for DDoS attacks uses DNS amplification (also known as 'DNS reflection'): a DNS request is made to an open DNS resolver with the source IP address forged so that it is the IP address of the targeted site - to which the response is thus sent. By making requests that generate a response that can be 100 times larger than the query (hence the name 'amplification'), the targeted site is quickly flooded with more traffic than it can handle. The real problem here is the existence of open DNS resolves, which the Open DNS Resolver Project attempts to eradicate.
The attack discovered by Incapsula also uses legitimate third-party servers to perform the attack, but it uses HTTP rather than DNS. The attack makes uses of a feature in the WordPress blogging platform called 'pingback', which allows the author of one blog to send a 'ping' to a post on another blog to notify the latter that it has been referenced. Though rarely used these days, it is still enabled by default.
Using pingback for DDoS is not a new concept: a WordPress bug detailing the possibility has been unresolved for more than six years, while late last year a similar vulnerability was discovered that could turn third-party blogs into a powerful port-scanning engine.
While the latter vulnerability was subsequently fixed by WordPress, DDoS attacks are still possible. Indeed, we had little trouble replicating Incapsula's findings, using nothing more than basic command-line tools. With millions of sites running WordPress, things could easily turn out quite nasty. However, in this case the requests do not appear to be amplified, which means the attackers would have to be able to control a large botnet in order for such attacks to be successful. Nevertheless, Incapsula's suggestion that site owners remove or rename the xmlrpc.php script (which is used for pingbacks) seems a sensible one.