Description
The Lockme OAuth2 calendars integration plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'App ID' setting in all versions up to, and including, 2.11.0. This is due to insufficient input sanitization and output escaping. The register_setting() call on line 197 lacks a sanitize callback, allowing unsanitized data to be stored via update_option(). When the settings page is rendered, the stored value is echoed directly into an HTML input's value attribute without esc_attr() on line 212. This makes it possible for authenticated attackers, with administrator-level access and above, to inject arbitrary web scripts in the settings page that will execute whenever a user accesses the plugin settings page. Multiple fields are affected: App ID (client_id), App Secret (client_secret), Bookings ID prefix (id_prefix), and API domain (api_domain). This vulnerability is particularly impactful in WordPress multisite installations where administrators of individual sites should not be able to execute JavaScript affecting other users.
Problem types
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Product status
Any version
Timeline
| 2026-07-10: | Disclosed |
Credits
Muhammad Nur Ibnu Hubab
References
www.wordfence.com/...-4173-4b8e-bc69-9a64218e64d6?source=cve
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...tegration/trunk/src/Plugin.php
plugins.trac.wordpress.org/...tion/tags/2.9.3/src/Plugin.php
plugins.trac.wordpress.org/...40lockme-calendars-integration