Description
The CalJ plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.5. This is due to a missing capability check in the CalJSettingsPage class constructor, which processes the -save-obtained-key- operation directly from POST data without verifying that the requesting user has the -manage_options- capability, and without any nonce verification. The plugin bootstrap file (calj.php) instantiates CalJSettingsPage whenever is_admin() returns true, which is the case for any authenticated user making requests to wp-admin URLs (including admin-ajax.php). This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify the plugin-s API key setting and clear the Shabbat cache, effectively taking control of the plugin-s API integration.
- Versions concernées
- <=1.5
- Type
- Package