| Plugin Name | collectchat |
|---|---|
| Type of Vulnerability | Cross-Site Scripting (XSS) |
| CVE Number | CVE-2026-0736 |
| Urgency | Low |
| CVE Publish Date | 2026-02-15 |
| Source URL | CVE-2026-0736 |
Authenticated Contributor Stored XSS in collectchat (≤ 2.4.8) — Practical Analysis, Risk Assessment and Recovery Steps for WordPress Site Owners
Author: Hong Kong Security Expert
Summary: A stored cross-site scripting (XSS) vulnerability affecting the collectchat WordPress plugin (versions ≤ 2.4.8, CVE-2026-0736) allows authenticated users with Contributor privileges to inject JavaScript into a post meta field. This article explains the technical details, who’s at risk, detection and immediate mitigations, cleanup and recovery, and developer hardening guidance.
Overview and quick danger assessment
On 13 Feb 2026 a stored cross-site scripting (XSS) vulnerability affecting the collectchat WordPress plugin (versions ≤ 2.4.8) was disclosed (CVE-2026-0736). The vulnerability permits an authenticated user with the Contributor role to store arbitrary JavaScript in a post meta field. The plugin later outputs that meta value without sufficient sanitization/escaping, enabling script execution when rendered in the admin or on the frontend.
Why this matters in plain language:
- Contributors can normally create and edit their own posts but cannot publish; that limited privilege may make this appear low-risk at first.
- Stored XSS can target administrators and editors who view the compromised post or plugin screen — enabling account takeover, privilege escalation, or broader compromise.
- Multi-author blogs, editorial workflows, membership sites, or any environment where Contributors log in are particularly exposed.
CVSS and priority: Public reporting indicates a CVSS 3.1 base score around 6.5. Prioritise based on site configuration — multi-author and editorial sites should act faster than single-author blogs.
This guide walks through how attackers can abuse the flaw, what to check immediately, how to clean and recover, and steps to harden your site.
Technical root cause and exploitation scenarios
What happened (technical summary)
- The plugin stores content in a post meta field (e.g., meta key used for chat config or widget content).
- Input from users with Contributor privileges is not validated or sanitized before saving.
- When the plugin renders the meta value into the admin UI or frontend, it is inserted into HTML without escaping — enabling stored payloads (e.g.