# WS Form LITE <= 1.12.18 - Unauthenticated Stored Cross-Site Scripting via Nested Form Field Values

- **ID:** WPSEC-2026-2624
- **Plugin:** WS Form LITE – Drag & Drop Contact Form Builder (`ws-form`), https://wordpress.org/plugins/ws-form/
- **Affected versions:** all versions before 1.12.19
- **Fixed in:** 1.12.19 (Update to 1.12.19 or later.)
- **Severity:** High 7.2 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-11-05)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/ws-form
- **Fix released:** 2026-11-04
- **Published:** 2026-11-05
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2624/

## Description

The WS Form LITE plugin for WordPress is vulnerable to Stored Cross-Site Scripting via submitted form field values in all versions up to, and including, 1.12.18. This is due to insufficient input sanitization and output escaping: nested arrays or objects posted as field values were stored as-is, and the client-side esc_html function returned non-string values without encoding them. This makes it possible for unauthenticated attackers to submit a form with crafted nested values and inject arbitrary web scripts that execute when a user, such as an administrator viewing form submissions, accesses a page rendering those values.

## References

- https://wpsec.com/vuln/WPSEC-2026-2624/
- https://plugins.svn.wordpress.org/ws-form/tags/1.12.19/
- https://wordpress.org/plugins/ws-form/

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

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.
