CVE-2026-104755

WP Compress <= 7.25.00 - Unauthenticated Privilege Escalation to 'group'/'setting'/'value' Parameters on comms Endpoint

2026-10-15 17:35
Wordfence PRISM

Strategic Overview

Status
Patched in 7.26.00
Affected Version
<= 7.25.00
CVSS
4.8Medium
Weakness type
CWE-269 · Improper Privilege Management
CVE
CVE-2026-104755
View all WP Compress – Instant Performance & Speed Optimization vulnerabilities

At a glance

CVE-2026-104755 is a medium-severity Improper Privilege Management vulnerability in the WP Compress WordPress plugin, affecting versions <= 7.25.00. It carries a CVSS score of 4.8 (reachable over the network). Exploitation requires no authentication. The issue is fixed in version 7.26.00; sites on affected versions should update now. Disclosed October 2026, reported by Wordfence PRISM.

Vulnerability Overview

The WP Compress – Instant Performance & Speed Optimization plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 7.25.00 The vulnerability exists because the `start_comms` dispatcher (`wps_ic_comms::start_comms`), hooked on every front-end request, gates access only by comparing the caller-supplied `apikey` parameter against the stored plugin API key with no WordPress capability check and no nonce verification, then passes the unvalidated `group`, `setting`, and `value` parameters directly to `change_setting()`, which writes them into the `WPS_IC_SETTINGS` option without an allow-list. This makes it possible for unauthenticated attackers to write arbitrary permission keys into the plugin's settings, causing `wps_ic_users::checkAndAddCaps()` to grant any WordPress role — including Subscriber — the `manage_wpc_settings` capability and thereby achieve plugin-administrator-equivalent control over the plugin's optimization, CDN, and critical-CSS surfaces. The API key required to pass the authorization check can itself be obtained without authentication via the `wpc_send_critical_remote` nopriv AJAX action: when the external critical-CSS service returns an `apiResults` field, `initCritical()` echoes the stored plugin API key back to the caller in a `wp_send_json_success` response, completing the exploit chain entirely without a WordPress login.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, and no privileges on the target site, and no interaction from a victim user.

CWE-269: Improper Privilege Management

WP Compress <= 7.25.00 carries this weakness at change_setting(), and reaching it takes no account at all. Improper privilege management means the code lets an account end up with capabilities its role should not have.

It converts a low-privileged account into an administrative one, which makes every other restriction on the site irrelevant. For WP Compress the fix is 7.26.00: builds <= 7.25.00 are affected, anything from 7.26.00 onward is not.

Remediation

Update to version 7.26.00, or a newer patched version

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: WP Compress 7.26.00 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C