RockPress <= 1.0.17 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Modification via AJAX Actions
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- firetree RockPress
through 1.0.17
References 16
plugins.trac.wordpress.org
- browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L206
- browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L206
- browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L125
- browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L125
- browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L145
- browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L145
- browser/ft-rockpress/trunk/includes/class-rockpress-import.php#L184
- browser/ft-rockpress/tags/1.0.17/includes/class-rockpress-import.php#L184
- browser/ft-rockpress/trunk/includes/admin/admin-ajax.php#L33
- browser/ft-rockpress/tags/1.0.17/includes/admin/admin-ajax.php#L33
- browser/ft-rockpress/trunk/includes/admin/admin-scripts.php#L88
- browser/ft-rockpress/tags/1.0.17/includes/admin/admin-scripts.php#L88
- browser/ft-rockpress/trunk/includes/admin/admin-scripts.php#L50
- browser/ft-rockpress/tags/1.0.17/includes/admin/admin-scripts.php#L50
- changeset?sfp_email=&sfph_mail=&reponame=&old=3477205%40ft-rockpress&new=3477205%40ft-rockpress&sfp_email=&sfph_mail=