Cross-Site Request Forgery (CSRF) in convos-chat/convos
Dec 11th 2021
An attacker is able to log out a user if a logged-in user visits the attacker's website.
Proof of Concept
<html> <!-- CSRF PoC - generated by Burp Suite Professional --> <body> <script>history.pushState('', '', '/')</script> <form action="https://demo.convos.chat/logout"> <input type="submit" value="Submit request" /> </form> </body> </html>
This vulnerability is capable of forging users to unintentional logout.
One way GET could be abused here is that a person (competitor perhaps:) placed an image tag with src="<your logout link>" anywhere on the internet, and if a user of your site stumbles upon that page, he will be unknowingly logged out. This is why it should be a POST with a CSRF token.
While this cannot harm a user's account, it can be a great annoyance and is a valid CSRF.