WordPress Plugin Vulnerabilities
Kadence Blocks < 3.7.8 - Contributor+ Arbitrary Optimizer Data Read/Modification/Deletion via IDOR in post_path
Description
The plugin is vulnerable to Insecure Direct Object Reference due to a mismatch between the object used for authorization and the object actually accessed in the Optimize_Rest_Controller's create_item(), get_item(), delete_item(), and bulk_delete_items() endpoints. Authorization is checked via current_user_can('edit_post'/'delete_post', $post_id) against the user-supplied post_id, while the storage layer keys analysis records on sha256($post_path) from a separately supplied, attacker-controlled post_path parameter, with no enforcement that post_path corresponds to post_id. This makes it possible for authenticated attackers with Contributor-level access and above to read, modify, or delete optimizer analysis records belonging to posts owned by other users by submitting their own post_id (which passes the capability check) together with the victim post's path.