Description
The 6Storage Rentals plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to, and including, 2.31.0. The vulnerability exists because the `six_storage_portal_registration()` AJAX handler — registered on `wp_ajax_six_storage_portal_plugin_registration` — performs no capability check and no nonce verification before writing the caller-supplied `six_storage_online_api_url` POST parameter to the site-wide option of the same name; the unauthenticated `six_storage_create_wp_user()` handler then redeems a transient seeded from that attacker-controlled URL's response and unconditionally calls `wp_set_current_user()` and `wp_set_auth_cookie()` with no ownership or credential verification. This makes it possible for authenticated attackers, with Subscriber-level access and above, to authenticate as any existing WordPress user — including any administrator whose email address is known or guessable — resulting in full site compromise. This issue represents an incomplete fix for a prior vulnerability: the 2.29.0 remediation moved the target email out of POST data into a server-side transient, but because any Subscriber can still overwrite the outbound API URL that populates that transient, the full authentication bypass chain remains exploitable in three AJAX requests.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| sixstorage | 6Storage Rentals | ≤ 2.31.0 | — |
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/67b82539-8582-4bb4-ad4c-b626233b6075?source=cve
- https://plugins.trac.wordpress.org/browser/6storage-rentals/tags/2.31.0/inc/Base/Six_Storage_DashboardController.php#L4126
- https://plugins.trac.wordpress.org/browser/6storage-rentals/tags/2.31.0/inc/Pages/Admin/Six_Storage_WpAdmin.php#L708
- https://plugins.trac.wordpress.org/browser/6storage-rentals/tags/2.31.0/inc/Base/Six_Storage_SignInControllerSixStorage.php#L90
- https://plugins.trac.wordpress.org/browser/6storage-rentals/tags/2.31.0/inc/Pages/Admin/Six_Storage_WpAdmin.php#L39
- https://plugins.trac.wordpress.org/browser/6storage-rentals/tags/2.31.0/inc/Base/Six_Storage_DashboardController.php#L14