Cross-site Scripting (XSS) - Stored in convos-chat/convos

Valid

Reported on

Dec 29th 2021


Description

The Convos is an open source multi-user chat that runs in a web browser. Characters starting with "https://" in the chat window create <a> tag. Stored XSS vulnerability using onfocus and autofocus occurs because escaping exists for "<" or ">" but escaping for double quarter does not exist.

Proof of Concept

Username : whwjddnjs142@gmail.com
Password : qwer12211@

1. Open the https://demo.convos.chat/login and Login as to above account
2. Go to https://demo.convos.chat/chat/irc-demo-irc-convos/<chat room name>
3. In chat room. Enter the https://x."//onfocus="alert(document.domain)"//autofocus="" b="

Video : https://www.youtube.com/watch?v=L1Be-D-GVmQ

Impact

Through this vulnerability, an attacker is capable to execute malicious scripts.

Occurences

https://github.com/convos-chat/convos/blob/main/assets/store/I18N.js#L158L168

We are processing your report and will contact the convos-chat/convos team within 24 hours. a month ago
Pocas modified their report
a month ago
We have contacted a member of the convos-chat/convos team and are waiting to hear back a month ago
convos-chat/convos maintainer validated this vulnerability a month ago
Pocas has been awarded the disclosure bounty
The fix bounty is now up for grabs
convos-chat/convos maintainer confirmed that a fix has been merged on 86b219 a month ago
The fix bounty has been dropped
I18N.js#L158L168 has been validated
convos-chat/convos maintainer
a month ago

Maintainer


Thank you - I screwed up pretty badly in v6.43 :(

Happy new year!

Pocas
a month ago

Researcher


No :) Thanks for the patch.

Happy New Year. You did a great job this year too :)