WordPress security this week: the plugin update that was the attack
For eleven hours on 15 and 16 October, some copies of Rank Math SEO PRO 3.0.123 served from the vendor’s own download channel contained malware. A site that activated one of them has to be treated as compromised, and installing the clean 3.0.124 does not undo what the malware set up. Alongside it: four plugin flaws that Patchstack is seeing exploited, from a CVSS 10 code execution in The Grid to three administrator takeovers that need no login; an unauthenticated object injection in LearnPress; the PwnEscape kernel flaw that CloudLinux has no fixed kernel for yet; and five ModSecurity evasion fixes that reached cPanel servers through EasyApache 4.
Prepared by G. Schad, WordPress and Linux security specialist
Rank Math SEO PRO 3.0.123, some packages served between 15 October 20:02 UTC and 16 October 07:12 UTC; CVE-2026-111862, CVSS 9.8
Exploited plugin flaws
The Grid, Theme My Login, My Calendar and MailOptin, all exploitable without a login; Patchstack marks all four as known to be exploited
Also patch now
LearnPress 4.4.11 closes an unauthenticated PHP object injection; WP Booking System 2.1.0.4 closes a subscriber-level escalation
Server stack
PwnEscape, CVE-2026-99999, has no fixed CloudLinux kernel yet; ModSecurity 2.9.15 reached cPanel in EasyApache 4 25.89; WordPress 7.1.3 remains current
This week in one minute
The short version: what changed in the week to 19 October
If you read one section, read this one. The Rank Math incident is different in kind from a vulnerability. Nothing was exploited: the plugin itself, fetched from the vendor through the normal update path, was the payload. That means the usual signal, an out-of-date version number, tells you nothing. What matters is when the package was obtained and whether it was activated. Patching is not the response; incident response is.
The rest of the week is more familiar, and still urgent. Four plugin flaws are being exploited, and each one goes straight from the internet to administrator access or code execution. On the server side, CloudLinux is still waiting on fixed kernels for PwnEscape, and five ModSecurity fixes change what a cPanel web application firewall does and does not catch.
Figure 1 · The week at a glance
A vendor update carried malware: the version number cannot tell you whether a site is clean.
Component
Status on 19 October
What to do
Rank Math SEO PRO 3.0.123, 15–16 Oct
Some packages carried malware (CVE-2026-111862)
Activated copy: restore or full cleanup; 3.0.124 alone is not a fix
The Grid ≤ 2.8.1
Exploited: code execution, no login, CVSS 10
Update to 2.8.2 via the vendor
Theme My Login, My Calendar, MailOptin
Exploited: admin takeover, no login, 9.8
Update to 7.2.2 · 3.8.8 · 1.2.78.7
LearnPress ≤ 4.4.10
Object injection, no login, 9.8
Update to 4.4.11
CloudLinux kernels · PwnEscape
No fixed kernel; CL9 livepatch rolling out
kcarectl --update; checksum offload off for untrusted VMs
EasyApache 4 · ModSecurity 2.9.15
Five WAF fixes, two evasions
Confirm 25.89 and 25.90; check the WAF is still on
The six items that need action in the week to 19 October 2026: a supply-chain compromise in Rank Math SEO PRO, four exploited plugin flaws, an unauthenticated object injection in LearnPress, and the server stack.
Rank Math SEO PRO · supply chain
Some 3.0.123 packages served during an eleven-hour window contained malware that plants backdoors, creates administrators, edits cron and .htaccess, and reads every secret PHP can reach. Clean release: 3.0.124. A site that activated a bad copy needs a restore or a full cleanup, not an update.
Plugins · four exploited
The Grid up to 2.8.1 gives code execution with no login, CVSS 10. Theme My Login up to 7.2.1, My Calendar up to 3.8.7 and MailOptin up to 1.2.78.6 each let an anonymous visitor take over an administrator account, CVSS 9.8. Patchstack lists all four as exploited.
Plugins · patch this week
LearnPress up to 4.4.10 accepts a serialized object from an anonymous checkout request, CVSS 9.8, fixed in 4.4.11. WP Booking System up to 2.1.0.3 lets a subscriber with edit rights on one form take over every form, fixed in 2.1.0.4.
Server stack · waiting and checking
PwnEscape, CVE-2026-99999, is a Linux networking flaw a VM guest can use against its host; CloudLinux has a livepatch rolling out for CloudLinux 9 and nothing shipped for the rest. EasyApache 4 25.89 and 25.90 carry ModSecurity 2.9.15, OpenSSL 1.1, Passenger and libcurl fixes. WordPress Core stays at 7.1.3.
Supply chain · CVE-2026-111862
Rank Math SEO PRO 3.0.123: a vendor update that carried malware
Rank Math’s advisory says that “a limited number of users” who downloaded Rank Math SEO PRO 3.0.123 between 20:02 UTC on 15 October and 07:12 UTC on 16 October received plugin files containing malware. That is the vendor’s own distribution channel, so the affected copies arrived through ordinary downloads and automatic updates. Rank Math removed the files and published 3.0.124 as the clean release. Wordfence assigned the incident CVE-2026-111862 and scored it 9.8. Rank Math has not said how many sites were affected, who was behind it, or how the malicious build entered distribution. The free Rank Math SEO plugin on WordPress.org is not part of the advisory.
The version number alone proves nothing. A 3.0.123 package obtained before the window is clean, and so is one obtained after it. Rank Math sorts sites into three groups. A site where an affected copy was installed and activated must be treated as compromised. A site where it was installed but never activated should delete the plugin files, install 3.0.124 from the Rank Math account and run a scan as a precaution. A site that only downloaded the package, without installing or activating it, has no indication of compromise from this incident alone. If Rank Math has contacted you directly, follow its instructions whatever version the site runs now.
What the malware does, according to Rank Math and Wordfence: it establishes persistent access and contacts the domain rank1cdn.com; it recreates hidden PHP backdoors whenever the site is visited, so removing a file while the loader remains brings the file back; it creates administrator accounts; it drops a fake Core file in wp-includes; it adds .htaccess rules that let .cache files run as PHP; it adds cron entries at system level, outside WordPress; and it exposes everything the web server can read, which includes the database credentials and salts in wp-config.php, API keys, and payment and mail credentials. The PHP it writes uses base64_decode with XOR loops, proc_open, and PHP-FPM socket code.
How to tell whether a site ran the malicious package
Run these checks on every site that had Rank Math SEO PRO 3.0.123 installed, including sites already on 3.0.124, unless you can prove the package was obtained outside the window. The indicators come from Rank Math’s advisory and Wordfence’s analysis. Preserve anything you find before removing it.
Indicator
Where to look
What it means
Outbound connections to rank1cdn.com
Firewall and proxy logs, outbound connection monitoring on the host
The loader is calling its command server; a strong sign the site is live-infected
Options _uf6qdn2hmm, t8krdk990phb and _np5pvf754c
The wp_options table, queried directly
The malware’s state; it uses these to rebuild its backdoors
Administrators named wpsupport_ followed by random characters, or any account with an @wp-mail.net address
wp user list --role=administrator, and the wp_users table
An account the malware created
wp-includes/class-wp-cache-util.php
The WordPress Core directory; wp core verify-checksums flags it
A fake Core file; WordPress ships no file of this name
PHP files in wp-content/mu-plugins, in wp-content/uploads, in other plugins’ folders, in the inc, includes or lib folders of non-default themes, or in Rank Math’s own includes folder
The file system, by content rather than by date
Dropped backdoors; the loader recreates them, so finding one is not the end of the search
Code containing the string xmmqhn, proc_open, XOR loops over base64_decode output, or PHP-FPM socket code
Any PHP file on the site
The malware’s own code patterns
.htaccess rules that treat .cache files as PHP, and .cache files that contain PHP
The site root and every subdirectory
A way to run backdoors through a file extension scanners skip
A cron entry carrying the marker #ms6v46
The system crontab of the web server or account user, not the WordPress cron
Persistence outside WordPress; survives a plugin reinstall and a database restore
Unexpected entries in ~/.ssh/authorized_keys, unknown processes, writable paths outside the document root
The hosting account and the server
Server-level persistence; at this point the question is wider than one site
Cleaning a site that activated the malicious package
Rank Math’s recommended order, condensed. The order matters because the loader rebuilds whatever is removed while it still runs. Isolate the site and keep a snapshot before any of this.
01
Restore from before the window if you can
A full restore of files and database from a backup taken before 20:02 UTC on 15 October is Rank Math’s preferred route. Then scan, rotate credentials as in step five, and install 3.0.124 downloaded by logging in at rankmath.com. Rank Math says it never sends login or download links by email.
02
Otherwise, disable the rebuild mechanism first
Delete the whole rank-math-pro folder; deactivating is not enough. Delete the three options from wp_options. Block outbound connections to rank1cdn.com at the host or firewall if you can. Do not start removing backdoors until all three are done, or they come back.
03
Then remove what it left
Search for the indicators above. Remove unknown administrators, the fake Core file, the .htaccess rules and .cache files, the system cron entry, and PHP in uploads and mu-plugins. Reinstall WordPress Core, plugins and themes from official sources rather than deleting files one by one.
04
Look beyond the site
Review authorized_keys for SSH, the crontabs of other system users, running processes, and writable locations outside the document root. The malware ran as the site’s user and could reach anything that user could.
05
Rotate every credential the site could read
WordPress passwords, the database password in wp-config.php, the authentication keys and salts, API keys, payment gateway and SMTP credentials, and the cPanel, FTP, SFTP and SSH logins. Rank Math calls this essential even after a restore. Re-check two-factor authentication on administrator accounts.
06
Verify, then keep watching
Verify Core and every plugin that has public checksums, and review the scheduled events:
Compare premium plugins, which have no public checksums, against a fresh download from the vendor. Watch outbound connections for several days; if a removed file reappears, the cleanup missed a layer.
Exploited · four plugins
Four plugin flaws under exploitation, each a straight path to administrator or code execution
All four carry Patchstack’s “known to be exploited” label in its database and all four need no login. Fixed releases exist for each. None of the four was on CISA’s Known Exploited Vulnerabilities catalog at its 16 October update, so the exploitation evidence is Patchstack’s own telemetry.
The Grid is the most serious of the four on paper and the hardest to inventory. Patchstack published it on 14 October from a 2 September report by Rafie Muhammad, and the CVE record followed on 16 October with a CVSS of 10: network, no privileges, no interaction, and a scope change. The plugin is commercial, so it will not appear in WordPress.org update checks; look for the-grid in the plugins folder of every site and compare the version in its header with 2.8.2. The CodeCanyon changelog visible on 19 October still ends at 2.8.1, so confirm the fixed build with the vendor if the updater offers nothing.
The three takeovers share a shape: a parameter that an anonymous visitor controls ends up in a function that writes user data. In MailOptin the attack needs a WordPress user registration opt-in form published on the site; the form’s identifier is visible in the page source. In Theme My Login the CVE record says exploitation applies to multisite installs in certain configurations, and the 7.2.2 changelog describes the fix as stopping a lost-password request from overwriting an account’s password on multisite; a single-site install may not be reachable, but with exploitation under way and the fix a one-line changelog entry, update anyway. In My Calendar the plugin’s own /my-calendar/ page is public by default after activation, so a default install is exposed. Patchstack classifies the My Calendar flaw as PHP object injection; the CVE record, assigned by Wordfence, and the plugin’s changelog describe it as privilege escalation through reflected shortcode injection. The fix is the same either way.
Plugin and CVE
Vulnerable
Fix
What an attacker gets
The Grid (Theme-one) — CVE-2026-94169, CVSS 10
≤ 2.8.1
2.8.2
Runs commands on the server from the internet. A premium plugin sold through CodeCanyon, so the fix arrives through the vendor, not WordPress.org
Theme My Login — CVE-2026-89079, CVSS 9.8
≤ 7.2.1
7.2.2 (current: 7.3.1)
Changes any user’s password through the lost-password flow. The CVE record scopes it to multisite installs in certain configurations
My Calendar (Joe Dolson) — CVE-2026-104798, CVSS 9.8
≤ 3.8.7
3.8.8 (current: 3.8.9)
A public mcs parameter is run through do_shortcode, and a nested shortcode attribute reaches call_user_func, which can rewrite the first administrator’s credentials
MailOptin — CVE-2026-109515, CVSS 9.8
≤ 1.2.78.6
1.2.78.7
A field-mapping parameter on the subscribe endpoint is passed to wp_insert_user without an allow list, so an attacker can set any user’s password, including an administrator’s
LearnPress and WP Booking System: not yet exploited, fixed this week
LearnPress, with more than 70,000 installs, is vulnerable up to 4.4.10 to an unauthenticated PHP object injection, CVE-2026-104736, scored 9.8 and published by Wordfence on 17 October from a Wordfence PRISM finding; Patchstack published it on 16 October and also marks it as exploited. The checkout-email parameter of the checkout AJAX action is passed through sanitize_text_field, which does not strip serialized object syntax, stored in the LearnPress session table, and later unserialized with no allowed_classes restriction. Object injection on its own does nothing; it needs a gadget chain in some other code on the site. The CVE record does not name one, and neither does Patchstack. That is a reason to update to 4.4.11, released on 16 October, before someone finds one, not a reason to wait. Exploit aggregators already list a public proof of concept.
WP Booking System, with more than 10,000 installs, is fixed in 2.1.0.4, released on 16 October. CVE-2026-109369 is a missing authorization check: a subscriber who has already been given edit rights on at least one booking form can overwrite the plugin’s own access-control list and grant themselves and any other user edit access to every form. Wordfence scores it 6.8, because of that precondition and the high attack complexity; Patchstack rates its priority high and expects it to be exploited. The changelog entry for 2.1.0.4 says only “Security improvements”.
PwnEscape: a guest-to-host kernel flaw with no fixed CloudLinux kernel yet
CVE-2026-99999, which its finder calls PwnEscape, is a flaw in how the Linux kernel handles checksum metadata from virtio-net. A guest sends a packet with an unfinished checksum and a csum_start value that points inside the IPv4 header; when the host fragments the packet and completes the checksum, two attacker-controlled bytes land in a header the kernel has already validated. The kernel then re-reads the header length and copies that many bytes into each fragment, which leaks host heap memory back to the guest. The bug has existed since Linux 2.6.27. It was found by Paulos Yibelo of pwn.ai during Vercel’s sandbox security challenge, reported privately, and fixed in mainline by Michael Tsirkin of Red Hat; the kernel’s CVE record of 15 October scores it 9.3 and lists fixed stable releases 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113 and 6.18.57.
CloudLinux’s advisory of 16 October is candid about what is and is not known. The researcher reported a host memory leak, a host crash and code execution as root on a test host; CloudLinux has not reproduced the attack, no public proof of concept exists, and it has seen no exploitation. CISA has not added the CVE to its catalog. CloudLinux nonetheless treats every supported kernel as affected: CloudLinux 7, 7h, 8, 8 LTS, 9, 9 LTS, 10 and CloudLinux for Ubuntu 22.04. As of that advisory no fixed kernel had shipped for any of them. CloudLinux 9 and 10 wait on AlmaLinux’s kernel, 8 LTS and 9 LTS on the TuxCare extended-support kernel, and the Ubuntu build follows Canonical’s fix through apt.
The KernelCare livepatch is the only thing that has moved. The patch for the EL9 family is rolling out, and the advisory names K20261016_0002 for AlmaLinux 9 and CloudLinux 9 as being in the main feed, with the RHEL, Oracle and Rocky 9 patches still in testing; el8 and el10 are in progress. The advisory is inconsistent with itself in places, saying both that the EL9 patch is in the test feed and that it is in the main feed, and giving two different verification commands, so check rather than assume: update, then search the patch information for CVE-2026-99999.
Servers licensed through CLN apply livepatches automatically; servers managed through KernelCare ePortal follow the rules set there.
Environment
Exposure
What to do now
KVM host with VMs you do not control
Highest. The guest route needs nothing on the host and does not depend on user namespaces
Apply the livepatch where it exists. Until a fixed kernel ships, consider disabling checksum offload for untrusted guests (csum=off,guest_csum=off on the virtio-net device, or the csum and guest driver options in libvirt). It needs a guest restart and costs throughput
Shared hosting without VMs
Only where an unprivileged user can create user and network namespaces. CloudLinux 8 and later enable unprivileged user namespaces by default
Check sysctl user.max_user_namespaces, or run unshare -Urn as an ordinary user; if it fails, the local route is closed. CloudLinux has not confirmed the local route is exploitable
CloudLinux 9 with KernelCare
As above, with a livepatch available
kcarectl --update, then confirm CVE-2026-99999 appears in kcarectl --patch-info
Every other CloudLinux kernel
As above, nothing shipped yet
Watch the advisory for the kernel or livepatch for your stream; reboot when the kernel arrives
EasyApache 4 25.89 and 25.90: five ModSecurity evasions, OpenSSL 1.1, Passenger and libcurl
EasyApache 4 25.89, released on 7 October, moves ea-apache24-mod_security2 from 2.9.14 to 2.9.15, the upstream release of 29 September. cPanel lists five CVEs against it. Two matter most to a WordPress host because they are evasions, not crashes: a request can be built that passes the firewall’s rules and still reaches the application with the payload intact. The release also patches ea-openssl11 for the five CVEs in OpenSSL’s 29 September advisory, including the high-severity DTLS flaw CVE-2026-84782 covered here last week, and moves Passenger to 6.2.0, which fixes an unauthenticated Watchdog API and a Watchdog privilege escalation. Note the behaviour change: an empty watchdog_api_server_authorizations value used to skip authentication and now allows none.
EasyApache 4 25.90, released on 14 October, patches ea-libcurl 8.17.0 for six CVEs that cPanel rates low, among them a bearer-token leak on cross-protocol redirects and an HTTP/2 server-push use-after-free, and reworks ea-podman: the Jailshell and CageFS command-line paths now run through admin actions instead of a full-access API token, and host ports reserved by a failed container install are released. Neither release touches Apache itself; the 2.4.69 update with its twenty CVEs was 25.88 on 2 October.
ModSecurity CVE
cPanel rating
What it is
CVE-2026-104269
High
The multipart parser reads only the plain filename parameter, not RFC 2231 filename*. A harmless filename passes the file-upload rules while a backend that prefers filename* saves the file under a malicious name. Upstream notes PHP reads only filename, so the bypass matters for Go, Python, Node and Java applications behind the same firewall
CVE-2026-104259
Moderate
removeComments leaves a comment that directly follows another, so /*A*//*B*/ keeps /*B*/. Inline comments can carry SQL injection or XSS past rules that rely on the transformation
CVE-2026-61812
Moderate
htmlEntityDecode knew five named entities; browsers decode 44 more. An entity-encoded colon or equals sign passes 35 OWASP CRS rules and still renders as the plain character
CVE-2026-73857
High
Uninitialised pointer in the XML request body processor when SecParseXmlIntoArgs is on. Upstream scopes it to libmodsecurity 3.0.15 and later and says version 2 is not affected; cPanel lists it in the 2.9.15 notes regardless
CVE-2026-61813
Low
Remote rule downloads verified the TLS hostname with libcurl’s weaker setting
WordPress Core stays at 7.1.3, and the questions the Rank Math incident leaves open
WordPress Core · no new release
WordPress 7.1.3, released on 6 October with seven security fixes, is still the current version on 19 October; the releases archive lists nothing newer in the 7.1 series. Confirm every site is on it, because last week’s campaign and this week’s takeovers both start from the same place: an anonymous request that reaches code it should not.
Rank Math · what is not known
Rank Math has not said how the malicious build entered its distribution, how many downloads were served in the window, or who was responsible. Wordfence’s write-up rests on the same indicators the vendor published. Until there is more, treat any Rank Math SEO PRO download from the window as suspect, and download 3.0.124 only by logging in at rankmath.com.
Premium plugins · no checksums to verify
Two of this week’s items, Rank Math SEO PRO and The Grid, are commercial plugins. WP-CLI cannot verify them against WordPress.org, and they do not appear in its update checks. The only comparison available is a fresh package from the vendor, diffed file by file against what is on disk.
Patchstack’s exploited label
The four exploited plugin flaws carry Patchstack’s own “known to be exploited” marker, which reflects attack traffic its network sees. None is on CISA’s catalog, which lags WordPress plugin exploitation by design. The marker is good enough to act on; it is not the same as a public exploit or a named campaign.
What this week means: the update channel is part of the attack surface
Every control that most WordPress operations rely on assumes the update is the safe side of the comparison. Version checks, automatic updates, the advice to keep everything current: all of it treats the vendor’s package as trusted. For eleven hours it was not. The Rank Math incident does not change the advice to update; a site that stays on old versions is exposed to the four exploited flaws below it in this briefing. It changes what you need to be able to answer afterwards: when did each site fetch each package, and from where. Sites with automatic plugin updates and no update log cannot answer that today.
The second lesson is the distinction between patching and remediation, which this briefing has drawn before and draws again. The exploited flaws are closed by an update; whatever they were used for is not. The Rank Math malware is removed by nothing short of a restore or a layered cleanup, because it rebuilds itself and lives partly outside WordPress. A fleet process that reports “all plugins current” after this week has not finished.
On the server, the pattern is waiting with the right posture. PwnEscape has no fixed CloudLinux kernel, and the honest answer for most shared hosts is that the local route is closed when unprivileged user namespaces are off and open when they are on, which on CloudLinux 8 and later they are by default. Knowing which applies to each host, and applying the livepatch where it exists, is the work available this week. The ModSecurity fixes are the reverse: the update is out, and the question is whether the firewall it updated is actually doing anything.
The first two are incident response, not maintenance. Work from a trusted device, preserve what you find before changing it, and do not let an update run on a site that is under investigation.
01
Inventory Rank Math SEO PRO
List every site with seo-by-rank-math-pro installed and establish when 3.0.123 arrived on each: the plugin updater’s log, the file timestamps on the plugin folder, the hosting account’s access logs for the download, or Rank Math’s own notification. Anything obtained between 20:02 UTC on 15 October and 07:12 UTC on 16 October is in scope.
02
Treat activated copies as a compromise
Isolate the site and take a snapshot. Restore files and database from before 15 October 20:02 UTC if a trusted backup exists. If not, delete rank-math-pro entirely, remove the three options, block rank1cdn.com, and only then clean the rest. Rotate WordPress, database, salts, API, SMTP, payment, cPanel, FTP, SFTP and SSH credentials. Review authorized_keys, system and WordPress cron, processes and writable paths outside the document root.
03
Update or deactivate the four exploited plugins
The Grid to 2.8.2, Theme My Login to 7.2.2 or the current 7.3.1, My Calendar to 3.8.8 or the current 3.8.9, MailOptin to 1.2.78.7. Where an update cannot happen today, deactivate. Then review administrators and recent password and email changes on every site that was exposed.
04
Update LearnPress and WP Booking System
LearnPress to 4.4.11, WP Booking System to 2.1.0.4. Neither CVE record reports exploitation, but Patchstack marks LearnPress as exploited and aggregators list a public proof of concept.
05
Verify what WP-CLI can verify
Run these on every site touched by the first four steps:
WP-CLI
$ wp core verify-checksums$ wp plugin verify-checksums --all$ wp user list --role=administrator$ wp cron event list
For premium plugins, compare against a clean package downloaded from the vendor.
06
Confirm EasyApache 4 25.89 and 25.90 are installed
Check that ea-apache24-mod_security2 is at 2.9.15 or later, that the Passenger and libcurl updates applied, and that the update did not leave ModSecurity disabled or critical rules excluded for the whole server.
07
Apply the KernelCare livepatch where it exists
On CloudLinux 9, update, then confirm CVE-2026-99999 is listed in the patch information:
On other streams, watch CloudLinux’s advisory for the kernel or livepatch and plan the reboot.
08
Assess PwnEscape exposure per host
Inventory hosts that run VMs you do not control and consider disabling checksum offload for those guests until a kernel ships. On shared hosts, check user.max_user_namespaces, and do not change it before confirming nothing depends on user namespaces.
09
Confirm WordPress Core is at 7.1.3
There is no newer release this week. Check the version on every site rather than assuming automatic updates ran.
This briefing was compiled on 19 October 2026 from the published sources below. Versions, dates, and figures are quoted as the source reported them and were not independently re-measured. Exploitation status comes from Patchstack’s database labels and CISA’s catalog as of 16 October; fixed versions were checked against the plugins’ WordPress.org pages where the vulnerability databases did not list them. Where sources disagree, as they do on the classification of the My Calendar flaw and on the state of the CloudLinux 9 livepatch, both readings are given in the text.
Common questions about this week’s WordPress security news
My site runs Rank Math SEO PRO 3.0.123. Is it infected?
Not necessarily. Only some packages served between 20:02 UTC on 15 October and 07:12 UTC on 16 October carried the malware. If the plugin was downloaded or auto-updated in that window and then activated, treat the site as compromised. If it was obtained outside the window, or installed but never activated, delete the plugin files, install 3.0.124 from your Rank Math account and scan. If you cannot establish when it arrived, run the indicator checks above.
I already updated to 3.0.124. Am I done?
No, if a malicious copy was ever activated. The update replaces the plugin; it does not remove the backdoors the loader rebuilt on every visit, the administrator it created, the system cron entry, the .htaccess rule, or the secrets it read. Rank Math’s own guidance is a restore from before the window or a cleanup in the order given above, followed by rotating every credential.
Why delete the plugin folder before cleaning anything else?
Because the loader inside it recreates the other backdoors whenever the site is visited. Remove the backdoors first and they come back; remove the plugin folder, the three options and the outbound connection first, and the rest stays removed. Deactivating the plugin leaves its files on disk and is not enough.
Does Theme My Login’s flaw affect a single-site install?
The CVE record says exploitation applies to multisite installs in certain configurations, and the 7.2.2 changelog describes the fix in terms of multisite. Patchstack lists it as exploited without that qualifier. Update regardless; the cost is one plugin update and the alternative is guessing which configuration you are in.
Is PwnEscape a WordPress problem?
Not directly. It is a Linux kernel flaw that lets a virtual machine attack the host it runs on, and possibly lets a local user do the same where unprivileged user namespaces are enabled. It matters to WordPress hosting because a compromised site gives an attacker exactly that kind of local foothold on a shared server. Until a fixed kernel ships, apply the KernelCare livepatch where it exists and check whether user namespaces are enabled.
Do the ModSecurity fixes change anything for a PHP-only server?
Less than the headlines suggest for the multipart flaw: upstream says PHP reads only the plain filename parameter, so that bypass needs a Go, Python, Node or Java backend. The comment and HTML-entity evasions apply to any application behind the firewall, including WordPress. Install the update either way, and check the firewall is still enabled afterwards.
Choose the response path
The containment plan should match the size of the incident.
One site, one worrying result
Get the finding classified and the site restored to a trusted state.
Best when a Rank Math SEO PRO site shows rank1cdn.com traffic, a wpsupport_ administrator or the #ms6v46 cron marker, or an exploited plugin left an account you did not create, and you want every layer removed in one pass rather than one at a time.
Check what the malware could reach, and what the kernel still exposes.
Best when a compromised site shared a server with others, cron and SSH keys need reviewing across accounts, or you need a clear answer on PwnEscape exposure and ModSecurity state across several hosts.