Unauthenticated privilege escalation in WP Compress plugin
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.
Summary
The WP Compress plugin by aresit is affected in all versions through 7.25.00. Its front-end comms handler checks only an API key, lacks capability and nonce checks, and stores caller-supplied settings without an allow-list (CWE-269). An unauthenticated remote attacker can grant any WordPress role, including Subscriber, the plugin's administrator capability, because the required API key can be obtained without logging in.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for WP Compress (Instant Performance & Speed Optimization).
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-16 Threatist record created from CVE-2026-104755
- 2026-10-16 Alias added: GHSA-869x-hw98-gf6f
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/67e9bfb8-b274-422a-a50d-a6b6b24bb193?source=cve
- https://plugins.trac.wordpress.org/browser/wp-compress-image-optimizer/tags/7.10.03/classes/comms.class.php#L49
- https://plugins.trac.wordpress.org/browser/wp-compress-image-optimizer/tags/7.10.03/classes/users.class.php#L30
- https://plugins.trac.wordpress.org/browser/wp-compress-image-optimizer/tags/7.10.03/classes/comms.class.php#L1042
- https://plugins.trac.wordpress.org/browser/wp-compress-image-optimizer/tags/7.10.03/classes/ajax.class.php#L816
- https://plugins.trac.wordpress.org/browser/wp-compress-image-optimizer/tags/7.10.03/addons/criticalCss/criticalCss.php#L409
- https://plugins.trac.wordpress.org/changeset?reponame=&new=3734610%40wp-compress-image-optimizer%2Ftags%2F7.26.00&old=3723132%40wp-compress-image-optimizer%2Ftags%2F7.25.00
More aresit vulnerabilities
- TI-2026-51463 WordPress WP Compress plugin < 7.20.01 - Remote Code Execution (RCE) vulnerability CVSS 3.1CRITICAL 10.0
- TI-2025-29976 WordPress WP Compress plugin <= 6.30.30 - Broken Authentication Vulnerability CVSS 3.1CRITICAL 9.8
- TI-2023-06126 WP Compress – Image Optimizer [All-In-One] <= 6.10.33 - Unauthenticated Directory Traversal via css CVSS 3.1CRITICAL 9.1
- TI-2026-58258 WordPress WP Compress plugin <= 7.21.28 - Settings Change vulnerability CVSS 3.1HIGH 8.2
- TI-2025-01847 WP Compress <= 6.30.15 - Authenticated (Subscriber+) Missing Authorization via Multiple Functions CVSS 3.1HIGH 8.8
- TI-2024-01801 WP Compress – Image Optimizer <= 6.11.08 - Missing Authorization to Unauthenticated CDN Modification CVSS 3.1HIGH 7.5
Sources
- CVE-2026-104755 · CVE Program
- CVE-2026-104755 · NVD
- FIRST EPSS
- GHSA-869x-hw98-gf6f · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences