Batch REST Guard – WordPress plugin | WordPress.org

Description

Was your site hacked? Did you get a “password changed” email without requesting a reset? You may be a victim of the wp2shell attack — one of the most serious security issues in recent years.

Batch REST Guard is a free security plugin that protects your website from the wp2shell exploit chain ( CVE-2026-63030 + CVE-2026-60137). Attackers use this vulnerability to break into sites without a password, create hidden administrator accounts, install backdoor plugins, and change your admin password — all through the REST API batch endpoint.

What does this plugin do?

Who should install this?

What is wp2shell?

Wp2shell is an unauthenticated remote code execution (RCE) attack against the WordPress REST API batch endpoint. It was actively exploited in the wild in 2026. Attackers can:

Updating core is the complete fix. This plugin adds an essential extra layer and helps you spot leftover malware after a cleanup.

Compatible with

Screenshots

Plugin active on the Plugins screen with core status.

Installation

  1. Upload the plugin files to /wp-content/plugins/batch-rest-guard/, or install through Plugins → Add New → Upload Plugin.
  2. Click Activate.
  3. Check the Plugins screen — you should see Core OK — guard active.
  4. If you see red admin warnings, follow the instructions (update core, delete suspicious users/plugins).

No configuration required. Protection starts immediately after activation.

FAQ

My admin password was changed and I did not request a reset. Can this help?

Yes. That is a common sign of the wp2shell attack. Install this plugin, update core immediately, delete any unknown admin users, and remove suspicious plugins. The plugin will alert you to known indicators of compromise.

Do I still need this if core is already updated?

Yes, as an extra layer. On 6.8.6 / 6.9.5 / 7.0.2 or newer, core is patched. The plugin still blocks anonymous batch requests and can alert you to leftover malicious admin users or fake plugins from a previous attack.

Will this break the block editor (Gutenberg)?

No. Logged-in users can still use the batch API. Only unauthenticated (anonymous) requests are blocked.

I use Cloudflare WAF rules. Is this plugin still needed?

Yes. Some early WAF rules only checked the URL, but attackers can send rest_route=/batch/v1 in the POST body. This plugin blocks that inside WordPress regardless of your WAF.

Does this replace Wordfence or a security plugin?

No. It complements them. Batch REST Guard focuses specifically on the wp2shell / REST batch attack vector. Keep your main security plugin and keep core updated.

What suspicious users and plugins does it detect?

Administrator accounts starting with w2s_, wp2_, or wpsvc_, attacker email domains, and plugin folders matching known fake utility names or random hex suffixes (for example site-tweaks-ab4378ea9c).

Changelog

1.2.5

1.2.4

1.2.3

1.2.2

1.2.1

1.2.0