Why WordPress XMLRPC Draws So Many Attacks

wordpress security

WordPress is the most widely used content management system in the world, which makes it an attractive target for automated attacks. One file that repeatedly draws attention is xmlrpc.php, a built-in WordPress component originally designed to help external applications communicate with a site. While XML-RPC can be useful, its behavior also makes it appealing to attackers looking for efficient ways to test passwords, overload servers, or abuse legitimate site functionality.

Why xmlrpc.php Remains a Prime WordPress Target

xmlrpc.php exists to support remote communication with WordPress. In earlier versions of WordPress, it allowed mobile apps, desktop publishing tools, and external services to create posts, manage content, and perform other actions without using the regular admin dashboard. Because it is enabled on many sites by default, attackers know they can often find it at the same predictable location: /xmlrpc.php.

That predictability is one reason it receives so much malicious traffic. Attackers do not need to scan deeply or understand a site’s theme, plugins, or configuration to try abusing XML-RPC. They can simply send automated requests to the same endpoint across thousands or millions of WordPress sites. Even if most attempts fail, the scale of automation makes the effort worthwhile.

Another reason is that many site owners are unaware XML-RPC exists. They may secure login pages, install firewalls, or limit access to /wp-admin/, but leave xmlrpc.php exposed. Since it can interact with authentication and remote publishing features, it becomes a convenient back door—not in the sense of being secretly installed, but as a legitimate feature that can be misused when left open unnecessarily.

How XML-RPC Enables Brute Force and DDoS Abuse

One of the most common abuses of xmlrpc.php is brute force password guessing. Instead of attacking the normal WordPress login form, bots can send authentication attempts through XML-RPC methods such as wp.getUsersBlogs. In some cases, XML-RPC has allowed multiple username and password combinations to be bundled into fewer requests, making attacks more efficient and harder to notice than traditional login page attempts.

This matters because brute force protection is often focused on /wp-login.php. If a security plugin or server rule limits login attempts only on the standard login page, XML-RPC may still provide another path for attackers to test credentials. A weak administrator password, reused password, or exposed username can turn this into a serious risk, especially when bots continuously cycle through large password lists.

XML-RPC has also been abused in distributed denial-of-service attacks through features like pingbacks. Pingbacks were intended to notify one site when another links to it, but attackers can exploit this behavior to make many WordPress sites send requests toward a victim. In that scenario, vulnerable or misconfigured WordPress sites become unwilling participants in traffic amplification, helping attackers overwhelm another server.

The reason xmlrpc.php attracts so many attacks is simple: it is common, predictable, powerful, and often unnecessary for modern WordPress sites. While XML-RPC is not automatically dangerous, leaving it exposed without a clear need increases the attack surface. Site owners who do not use remote publishing, legacy integrations, or pingbacks should consider disabling or restricting XML-RPC, while also enforcing strong passwords, rate limiting, and web application firewall rules to reduce the risk of abuse.