Atomic Edge analysis of CVE-2026-65527: The LIQUID SPEECH BALLOON WordPress plugin, version 1.2.5 and earlier, contains a stored cross-site scripting (XSS) vulnerability. This vulnerability allows authenticated users with contributor-level access or higher to inject arbitrary web scripts. The scripts execute whenever a user accesses an affected page. The vulnerability carries a CVSS score of 6.4 and is categorized under CWE-79 (Cross-Site Scripting).
Root Cause: The root cause lies in insufficient input sanitization and output escaping. The vulnerable code path is within the plugin’s block rendering logic. Although the specific diff does not show the vulnerable sanitization code, the issue stems from the block attributes not being properly sanitized on output. The `liquid_speech_balloon_editor_assets` function enqueues the block script (`lib/block.js`), which is responsible for frontend rendering and is vulnerable to script injection via unsanitized block attributes.
Exploitation: An attacker with contributor-level access exploits this by crafting a post or page containing the Liquid Speech Balloon block. The attacker injects a malicious XSS payload into a block attribute, such as the balloon text or name field. When an administrator or other user views the published content, the injected JavaScript executes in their browser session. This attack vector uses the standard WordPress block editor interface and does not require special endpoints.
Patch Analysis: The provided patch primarily updates the script dependencies for the block editor and adjusts admin notice dismissal transients, but it does not directly address the XSS vulnerability within the block’s rendering. The actual fix for this XSS is in a separate part of the codebase, likely involving the application of `esc_html()` or `wp_kses()` to the block attributes during rendering, which is not visible in this diff. The version bump from 1.2.5 to 1.2.6 indicates the fix was released, but the diff provided does not show the core sanitization changes.
Impact: Successful exploitation allows an attacker to execute arbitrary JavaScript in the context of a logged-in user’s session. This can lead to session hijacking, forced administrator actions (e.g., creating new admin accounts), defacement of the website, or the distribution of malware. Because the script is stored in the database, the attack persists and impacts any user who views the compromised page.







