CVE-2026-3550 json
RockPress <= 1.0.17 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Modification via AJAX Actions
published 7mo ago modified 4mo ago also EUVD-2026-13655
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
The RockPress plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.0.17. This is due to missing capability checks on multiple AJAX actions (rockpress_import, rockpress_import_status, rockpress_last_import, rockpress_reset_import, and rockpress_check_services) combined with the plugin's nonce being exposed to all authenticated users via an unconditionally enqueued admin script. The plugin enqueues the 'rockpress-admin' script on all admin pages (including profile.php) without any page or capability restrictions, and the nonce for the 'rockpress-nonce' action is passed to this script via wp_localize_script. Since the AJAX handlers only verify this nonce and do not check current_user_can(), any authenticated user, including Subscribers, can extract the nonce from any admin page's HTML source and use it to trigger imports, reset import data (deleting options), check service connectivity, and read import status information. This makes it possible for authenticated attackers, with Subscriber-level access and above, to trigger resource-intensive import operations, reset import tracking data, and perform system connection checks that should be restricted to administrators.
Is CVE-2026-3550 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 7mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected products
- firetree RockPress
Classification
- Weakness
-
- CWE-862 Missing Authorization
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/d5031631-9f12-47d3-997d-4418d348ab40?source=cve
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L206
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L206
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L125
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L125
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L145
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L145
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L184
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L184
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/admin/admin-ajax.php#L33
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/admin/admin-ajax.php#L33
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/admin/admin-scripts.php#L88
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/admin/admin-scripts.php#L88
- plugins.trac.wordpress.org /browser/ft-rockpress/trunk/includes/admin/admin-scripts.php#L50
- plugins.trac.wordpress.org /browser/ft-rockpress/tags/1.0.17/includes/admin/admin-scripts.php#L50
- plugins.trac.wordpress.org /changeset?sfp_email=&sfph_mail=&reponame=&old=3477205%40ft-rockpress&new=3477205%40ft-rockpress&sfp_email=&sf
Sources
- CVE List CVE-2026-3550
- NVD CVE-2026-3550
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.