WordPress Plugin Vulnerabilities

Click to Chat < 4.40 - Contributor+ Stored XSS via num Shortcode Parameter

Description

The plugin is vulnerable to Stored Cross-Site Scripting via the [chat] shortcode 'num' parameter due to insufficient escaping when embedding user-supplied shortcode attribute values inside JavaScript string literals placed in HTML event-handler attributes. The CCW_Shortcode::shortcode() function applies esc_attr() to the 'num' parameter, which converts single quotes to the HTML entity '. This entity-encoded value is then interpolated directly into a JavaScript window.open() call string delimited by single quotes, and that complete string is placed verbatim into an HTML onclick attribute in the style template files (e.g. sc-style-1.php). Because browsers HTML-decode event-attribute values before executing the embedded JavaScript, the ' entities are decoded back to literal single quotes at runtime, allowing the injected payload to break out of the JavaScript string context. This makes it possible for authenticated attackers with Contributor-level access and above to inject arbitrary web scripts into pages that execute whenever a user clicks the WhatsApp chat button rendered by the [chat] shortcode.

Affects Plugins

References

Classification

Type
XSS
CWE

Miscellaneous

Original Researcher
Valatty
Verified
No

Timeline

Publicly Published
2026-06-05 (about 4 months ago)
Added
2026-06-05 (about 4 months ago)
Last Updated
2026-06-05 (about 4 months ago)

Other