WordPress Plugin Vulnerabilities
KeepInMind - Dashboard Notes < 0.8.4.2 - Contributor+ Stored XSS
Description
Vulnerability Title
Stored Cross-Site Scripting (XSS) leading to Administrative Account Takeover (ATO) and Persistent Denial of Service (DoS)
Severity Rating
Severity: CRITICAL
CVSS Score: 9.0
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
The KeepInMind - Dashboard Notes plugin (version 0.8.2.9 and below) is vulnerable to Stored Cross-Site Scripting (XSS) via the REST API. The vulnerability exists because the plugin fails to sufficiently sanitize the content parameter when saving notes. Specifically, the plugin’s implementation of wp_kses allows the style attribute and dangerous CSS properties such as position: fixed, z-index, and viewport units (vw/vh).
An authenticated user with a low-privileged role (such as Contributor, if enabled in plugin settings) can inject a malicious payload into a note. When an Administrator views the dashboard, this payload executes in their browser, using CSS to redress the entire user interface.
By overlaying a high-fidelity, fake "Session Expired" re-authentication prompt, the attacker can hijack the administrative UI. This allows for an Administrative Account Takeover (ATO) by tricking the victim into entering their credentials, which are then exfiltrated to an attacker-controlled external server. This represents a complete breach of the security boundary between different user roles (Vertical Privilege Escalation).