Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Wishpond Connect.js Javascript Library Prototype Pollution

Medium

Synopsis

In July 2021, Researchers at Tenable discovered a prototype pollution vulnerability in the Wishpond javascript library (connect.js), which could result in a cross-site scripting attack against sites which deployed/made use of the library. An attacker could exploit this vulnerability by tricking a user into opening a malicious link, thereby allowing them to execute javascript in the context of the user's browser on the affected domain.

Proof of Concept:

For any affected site which leveraged the connect.js library from cdn.wishpond.net/connect.js, a prototype pollution could be achieved, in the general sense, with a payload like the following:

https://<affected-site>/?__proto__[polluted]=true

At the time of discovery, a cross site scripting attack could be achieved in sites using the Wishpond library via the jQuery .off() method, if jQuery was available on the site, by way of polluting String.prototype:

https://<affected-site>/?__proto__[preventDefault]=x&__proto__[handleObj]=x&__proto__[delegateTarget]=<img/src/onerror%3Dalert(document.domain)>

Solution

The issue appears to have been mitigated by either an intentional or unintentional fix. Please contact Wishpond for further information.

Disclosure Timeline

July 19, 2021 - Tenable requests a security contact from Wishpond so vulnerability details can be disclosed
July 27, 2021 - Tenable requests a security contact again
July 27, 2021 - Wishpond asks Tenable to not contact them further, and closes support ticket
July 27, 2021 - Tenable informs Wishpond that we consider the response an acknowledgement of the existence of the vulnerability, and requests that Wishpond contact Tenable for more details
August 24, 2021 - Tenable contacts Wishpond to remind them of the issue, and asks for a contact to which the issue can be reported in full. Wishpond does not respond.
October 13, 2021 - Tenable attempts to contact Wishpond again. Wishpond does not respond.
October 26, 2021 - 90 Day Disclosure day reached. Tenable notes that vulnerability has been mitigated in affected sites.

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

Tenable Advisory ID: TRA-2021-46
Credit:
Rémy Marot
CVSSv3 Base / Temporal Score:
6.1
CVSSv3 Vector:
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Affected Products:
Wishpond Connect.js Javascript Library
Risk Factor:
Medium

Advisory Timeline

October 26, 2021 - Advisory Released
November 17, 2021 - Description update