Bug Description
Sending transactions with account number recipients that are actually not valid hexadecimal numbers are accepted by the network. This means that all clients that are using our APIs must make sure that they are not vulnerable to XSS attacks (particularly our desktop client).
Steps to Reproduce
Steps to reproduce the behavior:
Go to the client app.
Click on Send points button
Enter in ~!@#$%^&*()_+\b1234567890-=[]\;',./{}|:"<>~!@#$%^&*()_+a12345678 as the To (recipient) field.
Enter in some points. After sending, you will see that the transaction was successfully fulfilled.
Go to your transactions tab and see the accepted transactions.
Expected behavior
The attempt to add the transactions to the blockchain should be declined due to the account numbers not being a valid hexadecimal.
Actual behavior
The transactions were pushed to the blockchain.
Screenshots/Recordings
How hackers can use this
If I were a hacker, I would simply send a transaction to a fake account number like "><script>$('body').append('<script src="xss"> );</script>______ (or with any of the other XSS options) with the external script automatically sending transactions under the user's account.
OS and Browser
Windows 10
Chromium (with the client)
Account Number
d84543947090d300910f8d1b9604c0c0a56fafca6cfbe52511c1e31757188bca
Bug Description Sending transactions with account number recipients that are actually not valid hexadecimal numbers are accepted by the network. This means that all clients that are using our APIs must make sure that they are not vulnerable to XSS attacks (particularly our desktop client).
Steps to Reproduce Steps to reproduce the behavior:
Send points
button~!@#$%^&*()_+\b1234567890-=[]\;',./{}|:"<>~!@#$%^&*()_+a12345678
as theTo
(recipient) field.Expected behavior The attempt to add the transactions to the blockchain should be declined due to the account numbers not being a valid hexadecimal.
Actual behavior The transactions were pushed to the blockchain.
Screenshots/Recordings
How hackers can use this If I were a hacker, I would simply send a transaction to a fake account number like
"><script>$('body').append('<script src="xss"> );</script>______
(or with any of the other XSS options) with the external script automatically sending transactions under the user's account.OS and Browser
Account Number d84543947090d300910f8d1b9604c0c0a56fafca6cfbe52511c1e31757188bca
How to Create an Account