psf-wordpress-plugins-oct2026-check(8)

Script: /opt/psf-security-patches/wordpress/wordpress-plugins-oct2026-check.sh. Tool page: WordPress core and plugins. Source. With the package installed: man psf-wordpress-plugins-oct2026-check.

WordPress plugin checks, October 2026: eight plugins  (v6)
CVE-2026-113500 (LiteSpeed Cache before 7.9.2, unauthenticated stored XSS)
CVE-2026-111862 (Rank Math SEO PRO 3.0.123, supply-chain malware, CVSS 9.8)
CVE-2026-110372 (OttoKit 1.1.40 and earlier, unauthenticated privilege escalation, CVSS 9.8)
CVE-2026-112241 (SureCart 4.9.5 and earlier, authentication bypass by spoofing, CVSS 9.8)
CVE-2026-110653 (LatePoint 5.7.4 and earlier, unauthenticated OTP authentication bypass, CVSS 9.1)
CVE-2026-112327 (Amelia 2.4.11 and earlier, SQL injection, CVSS 9.3)
CVE-2026-112242 (Profile Builder 4.0.4 and earlier, privilege escalation, CVSS 8.8)
CVE-2026-85097 (Bricksforge 3.1.8.9 and earlier, unauthenticated file upload to code execution,
                CVSS 10.0, exploited since 7 October 2026)

If this software is helpful, consider a donation to our 501c3 nonprofit:
https://privacysafe.foundation

CVE-2026-113500  The LiteSpeed Cache plugin before 7.9.2 has an HTML
                 optimization routine that is not limited to stylesheet
                 content. It can delete the markup that closes an attribute in
                 the rendered page. Combined with unescaped comment author
                 output, an unauthenticated visitor whose comment is published
                 can inject event-handler attributes that run JavaScript for
                 any visitor, including a logged-in administrator.
                 Fixed: 7.9.2.
CVE-2026-111862  Some copies of Rank Math SEO PRO 3.0.123 contained malware.
                 Per Rank Math, the affected copies were downloaded or
                 updated between 15 October 2026 20:02 UTC and 16 October 2026
                 07:12 UTC. The genuine 3.0.123 is dated 7 October. Rank Math
                 removed the files and shipped 3.0.124. The free Rank Math SEO
                 plugin from WordPress.org is not part of the incident. The
                 malware reportedly does nothing until the plugin is activated,
                 then contacts a command server, plants PHP backdoors that
                 rebuild themselves, creates administrator accounts, adds cron
                 jobs and can add SSH keys. Updating to 3.0.124 does not
                 remove any of that. Treat an activated tainted copy as a
                 full compromise.
CVE-2026-110372  OttoKit (the plugin formerly called SureTriggers, folder
                 suretriggers) up to and including 1.1.40 assigns privileges
                 incorrectly, which lets an unauthenticated visitor escalate
                 privileges (CWE-266), in practice to administrator. A Nuclei
                 template for it exists and is tagged as known-exploited by
                 VulnCheck's list; another tracker says no public proof of
                 concept exists, so treat exploitation as plausible.
                 Fixed: 1.1.41.
CVE-2026-112241  SureCart (the e-commerce plugin from the same vendor, folder
                 surecart) up to and including 4.9.5 has an authentication
                 bypass by spoofing (CWE-290): an attacker can present identity
                 markers that the plugin trusts and be treated as another user,
                 with no valid credentials. CVSS 9.8. Patchstack rates it high
                 priority and expects mass exploitation; we found no report of
                 exploitation. SureCart has had a run of authentication and
                 account-takeover fixes this autumn, so keep it current.
                 Fixed: 4.9.6.
CVE-2026-110653  LatePoint (appointment booking, folder latepoint) up to and
                 including 5.7.4. The one-time-password check increments its
                 attempts counter with a stale value and no conditional guard
                 or row lock, so concurrent requests slip past the 10-attempt
                 lockout and an unauthenticated visitor can brute-force the
                 code and log in as a customer. CVSS 9.1. No exploitation has
                 been reported. The advisory references the 5.7.5 code for the
                 fixed helper, so 5.7.5 is the first fixed release; the advisory
                 does not say "fixed in" in so many words.
CVE-2026-112327  Amelia (booking, folder ameliabooking) up to and including
                 2.4.11: SQL injection, CVSS 9.3 (a score that implies no
                 privileges are needed; the advisory does not state the
                 required role). Patchstack's solution: 2.4.12 or later.
CVE-2026-112242  Profile Builder (user registration forms and profiles, folder
                 profile-builder) up to and including 4.0.4: incorrect
                 privilege assignment (CWE-266), CVSS 8.8. The score implies a
                 low-privilege account is enough (privileges required: low), so a
                 registered user may be able to gain a higher role, in the worst
                 case administrator. Fixed: 4.0.5. Only the free plugin folder
                 profile-builder is checked; the paid add-on ships separately.

"check" and "hunt" are read-only. "mitigate" and "rollback" are the only commands that change a site.

CVE-2026-85097   Bricksforge (an add-on for the Bricks site builder, about 6,000 sites)
                 up to and including 3.1.8.9 trusts file metadata that arrives with a
                 form submission. An unauthenticated visitor gets a form nonce, uploads
                 a file that passes the image type check but also holds PHP code, then
                 submits the form naming a .php file, and the code runs. Patchstack saw
                 the first attempts on 7 October 2026 at 21:47 UTC, before the advisory
                 of 8 October, from 63 addresses within days. Attackers used the route
                 /wp-json/bricksforge/v1/form_submit and filenames matching
                 login_admin_*.php, sometimes placed straight in the uploads directories.
                 Sites with Pro Forms active are affected even when no form has an upload
                 field. CVSS 10.0 (9.8 in one report). Fixed: 3.1.8.10 for the 3.x line.
                 The vendor changelog says 4.0.0 also has the fix; Patchstack names 4.0.1,
                 so this script treats 4.0.0 as unconfirmed and 4.0.1 or later as fixed.

Usage:
  ./wordpress-plugins-oct2026-check.sh [command] [DIR ...]

  check (default)  scan DIR (default /var/www /srv /home /opt
                   /usr/share/wordpress) for WordPress installs and report the
                   version of LiteSpeed Cache, Rank Math PRO, OttoKit, SureCart, LatePoint,
                   Amelia, Profile Builder and Bricksforge. For
                   Rank Math PRO 3.0.123 it compares file change times with the
                   incident window. Exit 0 = nothing affected, 1 = affected or
                   to review.
  mitigate (--plugin SLUG[,SLUG] | --all-affected) [--dry-run] [DIR ...]   (root, or the
                   site's own user) changes the site. Deactivates a plugin that is
                   below its fixed version with WP-CLI, as the owner of the site and
                   with --skip-plugins and --skip-themes so the vulnerable code is not
                   loaded to switch it off. An inactive plugin registers no routes. You
                   must choose, because deactivating turns the plugin's features off
                   (forms, bookings, checkout, login pages). Plugins it will act on:
                   OttoKit (suretriggers) below 1.1.41, SureCart (surecart) below
                   4.9.6, LatePoint (latepoint) below 5.7.5, Amelia (ameliabooking)
                   below 2.4.12, Profile Builder (profile-builder) below 4.0.5 and
                   Bricksforge below 3.1.8.10 (found by its Plugin Name, whatever its
                   folder is called; Patchstack reports deactivation as the
                   mitigation). A plugin at or above its fixed version, one that is
                   already inactive and one that is network-activated are left alone.
                   LiteSpeed Cache (the measure there is to hold comments for
                   moderation) and Rank Math PRO (follow the vendor notice) are not
                   touched. It needs wp (WP-CLI) on PATH, or WP_CLI=/path/to/wp.
                   The fix is to update the plugin. An update does not remove
                   accounts or files an attacker already created: run hunt.
  rollback [--dry-run]   reactivate the plugins mitigate deactivated.
  hunt             search each WordPress install, and this server, for the
                   published indicators of the Rank Math PRO malware, and for
                   signs of OttoKit abuse (new administrator accounts and
                   requests to its REST routes), for LatePoint OTP requests, and for
                   Bricksforge upload attacks (login_admin_*.php files, PHP files in the
                   uploads directories, requests to its form route). Exit 0 = none found,
                   1 = at least one indicator found.
  version          print the script version.

The hunt reads database credentials from wp-config.php and runs two SELECT
queries with the mysql client. It does not use wp-cli, because wp-cli would
load the site's PHP, and a backdoor could run when it does. If the mysql
client is missing, the queries are printed for you to run by hand.

Indicators come from public reports of the incident (Rank Math, Wordfence and
Patchstack, as relayed by several write-ups). A clean hunt does not prove a
site is clean. If a tainted copy was activated, restore from a backup taken
before 15 October 2026 20:02 UTC and rotate every credential the server held.

Environment (for testing or unusual layouts):
  HUNT_CRON_PATHS  default: /var/spool/cron /etc/cron.d /etc/crontab
  HUNT_LOG_DIRS    default: /var/log
  HUNT_SSH_DIRS    default: /root/.ssh /home
  HUNT_WEB_LOGS    extra web server access log paths for the OttoKit request count
  HUNT_ADMIN_SINCE default: 2026-10-01, administrators created since then are listed
Containers: with no argument the check also looks in running docker and podman containers
(SCAN_CONTAINERS=1, the default; 0 skips them). A read-only probe copies only the Plugin Name and
Version header lines of each covered plugin's main file, and its modification time, into a private
temporary directory, and this script runs once per container in isolation against that copy. For
Rank Math PRO 3.0.123 only the modification time is available inside a container, and the output
says so. The hunt command does not look inside containers. Paths shown as .../docker_NAME/... are
inside the container NAME.
     PSF_LOCK_WAIT    seconds a run that changes the host waits for another one that is already
                      changing it (default 30), then stops with exit 2; the lock is STATE_DIR/.lock

The Security Patches software and this documentation are dedicated to the public domain under CC0 1.0 Universal. Other pages on privacysafe.app/docs are CC BY-SA 4.0 unless the page says otherwise.

The PrivacySafe Ecosystem

Shop at Ivy Cyber

Ivy Cyber offers PrivacySafe products and services in the USA and has partnerships with 3NSoft in Canada and Kuip Limited in the European Union. Enterprise services and consulting are available at ivycyber.com

PrivacySafe Foundation is a 501(c)(3) nonprofit public charity that supports the development of the PrivacySafe applications, along with the components they rely upon: 3NWeb protocols, filesystem, documentation, and reference implementations.

PrivacySafe Foundation

Donations to PrivacySafe Foundation support education, research, documentation, and public code. Purchases from Ivy Cyber support PrivacySafe products, services, hosting, and technical support. Together, we're building a better web.