# LIQUID SPEECH BALLOON <= 1.2.7 - Authenticated (Contributor+) Stored Cross-Site Scripting via Avatar Settings

- **ID:** WPSEC-2026-2692
- **Plugin:** LIQUID SPEECH BALLOON (`liquid-speech-balloon`), https://wordpress.org/plugins/liquid-speech-balloon/
- **Affected versions:** from 1.1.4 before 1.2.8
- **Fixed in:** 1.2.8 (Update to 1.2.8 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-07)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/liquid-speech-balloon
- **Fix released:** 2026-11-06
- **Published:** 2026-11-07
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2692/

## Description

The LIQUID SPEECH BALLOON plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the avatar settings in all versions up to, and including, 1.2.7, due to insufficient validation of the submitted avatar numbers (array keys of the liquid_speech_balloon_img and liquid_speech_balloon_name settings), which are output without escaping into an inline style block on every page. The settings page is also available to any user with the edit_posts capability. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

## References

- https://wpsec.com/vuln/WPSEC-2026-2692/
- https://plugins.svn.wordpress.org/liquid-speech-balloon/tags/1.2.8/
- https://wordpress.org/plugins/liquid-speech-balloon/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2692/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
