A serious security flaw potentially affected the bug bounty platform HackerOne. Identified as pollution prototype vulnerability, the bug indirectly affected HackerOne as it existed in their marketing site Wistia.
Prototype Pollution Vulnerability Affecting HackerOne
Two researchers, William Bowling and Ian Bouchard found a prototype pollution vulnerability that opened HackerOne to the risk of phishing attacks.
Briefly, prototype pollution is a vulnerability affecting prototype-based languages like JavaScript. Prototypes in JS are the structure and properties of an object that defines how an app should handle the data. Any changes in the prototype change the way the object works.
Hence, any malicious modification of the prototype is prototype pollution. (This article explains more details about the flaw.)
In the case of the problem referred here, the researchers found that the vulnerability specifically affected Wistia. HackerOne uses that platform to host and embed videos via HTML snippets. Thus, the flaw indirectly risked HackerOne too. Exploiting the bug could allow an adversary to conduct phishing attacks by redirecting a site visitor to phishing pages. Or, an attacker could also stage an XSS attack.
The researchers have shared the details of the flaw in their HackerOne bug report here.
Fix Deployed
The researchers reported the vulnerability to HackerOne on September 20, 2020. HackerOne officials acknowledged the bug and coordinated with Wistia to get the vulnerability fixed.
Wistia also worked promptly to develop a patch shortly after the report. Hence, within a few days, they released a fix that the researchers retested and found working.
For reporting this vulnerability, HackerOne awarded both the researchers $250 each. As Jobert Abma, co-founder of HackerOne, told Daily Swig,
Although the vulnerability wasn’t in code HackerOne maintained, it did impact our systems, which is why we decided to award a bounty for it.
Whereas this reflected XSS vulnerability has received a low-severity rating with a score of 3.6.
Let us know your thoughts in the comments.