Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Malware & Security

WordPress XML-RPC Attack Causing Downtime: Identify and Limit the Abused Methods

XML-RPC can be abused for login attempts or pingback traffic. Identify required integrations before restricting it.

What matters first: xmlrpc.php supports remote publishing, mobile apps, Jetpack-style services and pingbacks. Attackers target methods that multiply authentication attempts or make outbound requests.

Identify which XML-RPC methods are being abused

A blanket block is safe only when nothing depends on the endpoint. Access logs and method-level inspection show the operational impact.

Inventory legitimate XML-RPC dependencies first

  • Measure XML-RPC request rate, source networks and response time.
  • Inspect request bodies or application logs for abused method names where legally appropriate.
  • Inventory mobile apps, Jetpack, remote publishing and integrations.
  • Check for successful authentication and outbound pingback effects.

system.multicall and pingback.ping create different risks

  • system.multicall abuse: One request contains many login attempts.
  • pingback.ping abuse: The site is used to send requests to third parties.
  • Credential stuffing: Attackers test leaked usernames and passwords.
  • Unbounded processing: Security or logging plugins make each XML-RPC request expensive.

Restrict the smallest necessary surface

  1. Block or rate-limit only the unused or abused methods when integrations remain necessary.
  2. Disable the endpoint at the edge when the site has no XML-RPC dependency.
  3. Add MFA and rotate credentials if any authentication succeeded.
  4. Monitor PHP, outbound traffic and logs after the restriction.

Tie XML-RPC abuse to account-compromise checks

system.multicall can compress many authentication attempts into one request, while pingback.ping can cause outbound requests to third parties. Request bodies or application logs can distinguish them where inspection is appropriate. The right control depends on whether the site still needs remote publishing, mobile apps or Jetpack-style services.

When the attack is mainly credential pressure, compare it with the broader brute-force containment path. If an authentication succeeded or the incident coincides with changed core files, add a trusted-core integrity check before considering the site clean.

Do not disable required integrations blindly

Do not disable XML-RPC without checking Jetpack, mobile apps or external publishing. An emergency block should be documented and tested.

Verify attack load and integrations after the change

  • Attack traffic no longer exhausts PHP or triggers outbound abuse.
  • Required integrations still work or have an approved replacement.
  • No compromised account or unauthorised session remains.

The repair is complete when abused XML-RPC traffic no longer consumes damaging resources or triggers outbound requests, required integrations still operate, and no compromised account, session or unexplained file change remains.

WP REPAIR INCIDENT STANDARD

How to narrow the fault without guessing

A blanket block is safe only when nothing depends on the endpoint. Access logs and method-level inspection show the operational impact.

WP RepairDiagnostic model
1Trigger2Payload3Persistence4Entry point
Follow the chain until you find the first point that stops behaving as expected.
01

Measure XML-RPC request rate, source networks and response time.

02

Inspect request bodies or application logs for abused method names where legally appropriate.

03

Inventory mobile apps, Jetpack, remote publishing and integrations.

04

Check for successful authentication and outbound pingback effects.

What must be verified

  • Attack traffic no longer exhausts PHP or triggers outbound abuse.
  • Required integrations still work or have an approved replacement.
  • No compromised account or unauthorised session remains.

ABOUT THIS SYMPTOM

Frequently asked questions about this guide.

Is it always safe to just block xmlrpc.php entirely?+

Only when nothing depends on the endpoint. Jetpack-style services, mobile apps and remote publishing tools commonly rely on XML-RPC, so an emergency block should be documented, tested and based on an actual inventory of integrations rather than assumed to be harmless.

What's the difference between system.multicall abuse and pingback.ping abuse?+

system.multicall abuse packs many login attempts into a single request to accelerate credential guessing, while pingback.ping abuse uses your site to send outbound requests to third parties, effectively turning it into an attack tool against other targets. Distinguishing them requires inspecting request bodies or logs for the specific abused method name.

If I restrict XML-RPC, do I need to do anything else afterward?+

Yes. If any authentication succeeded during the attack, add MFA and rotate credentials, and continue monitoring PHP load, outbound traffic and logs after the restriction to confirm the abuse has actually stopped rather than just changed shape.

Can XML-RPC abuse affect other websites, not just mine?+

Yes, specifically through pingback.ping abuse, where your site is used to send requests to third parties. Checking for outbound pingback effects is part of the recommended evidence-gathering step, since your server can become an unwitting participant in attacking someone else's site.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident↗