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

Published Oct 16, 2026
·
Updated

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 startcomms dispatcher (wpsiccomms::startcomms), 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 changesetting(), which writes them into the WPSICSETTINGS option without an allow-list. This makes it possible for unauthenticated attackers to write arbitrary permission keys into the plugin's settings, causing wpsicusers::checkAndAddCaps() to grant any WordPress role — including Subscriber — the managewpcsettings 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 wpcsendcriticalremote 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 wpsendjsonsuccess response, completing the exploit chain entirely without a WordPress login.

Affected Software

0 affected components

Event History

Oct 16, 2026
CVE Published
via MITRE·06:41 AM
Data Sourced
via MITRE·06:41 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which installations are exposed to unauthenticated exploitation?

WP Compress installations running version 7.25.00 or earlier are affected. The vulnerable dispatcher is hooked on every front-end request, so an attacker does not need a WordPress account or an authenticated admin session.

2

Does exploitation require knowing a secret plugin API key?

The comms endpoint compares a supplied apikey value to the stored plugin API key. However, the description states that this key can be obtained without authentication through the wpc_send_critical_remote nopriv AJAX action when the external critical-CSS service is involved; the provided data is truncated before specifying any further conditions.

3

What level of access can an attacker gain?

An attacker can write arbitrary permission keys into the plugin settings and cause the plugin to grant any WordPress role, including Subscriber, the manage_wpc_settings capability. This provides plugin-administrator-equivalent control over WP Compress optimization, CDN, and critical-CSS functionality.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203