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.
Published: 2026-07-11
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability arises because the Lockme calendars integration plugin stores configuration values without sanitizing or escaping them. An authenticated user with administrator privileges can enter malicious content into fields such as App ID, App Secret, Bookings ID prefix, and API domain. When the settings page is rendered, that content allows the payload to execute as JavaScript whenever the page is viewed by any user who has access to the administration area, falling under CWE‑79.

Affected Systems

WordPress installations that have the Lockme calendars integration plugin developed by lustmored and running any version up to and including 2.11.0. The data does not indicate whether newer releases contain a fix, so any site using these versions remains vulnerable.

Risk and Exploitability

The CVSS score of 4.4 and an EPSS of less than 1 % classify this issue as moderate risk with a low likelihood of exploitation. An attacker must first possess or compromise administrator‑level credentials to inject the payload, and the script only runs when users view the settings page. The flaw is not listed in CISA’s KEV catalog, and no public exploits have been documented.

Generated by OpenCVE AI on July 29, 2026 at 09:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Limit the number of users who have administrator or higher privileges, ensuring only trusted personnel can modify plugin settings.
  • Update the Lockme calendars integration plugin to the latest available version, or install a patched version if the vendor provides a fix.
  • If an urgent mitigation is required and no update is available, deactivate or remove the plugin from the WordPress site until a confirmed fix is released.

Generated by OpenCVE AI on July 29, 2026 at 09:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 13 Jul 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Lustmored
Lustmored lockme Calendars Integration
Wordpress
Wordpress wordpress
Vendors & Products Lustmored
Lustmored lockme Calendars Integration
Wordpress
Wordpress wordpress

Sat, 11 Jul 2026 03:30:00 +0000

Type Values Removed Values Added
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.
Title Lockme OAuth2 calendars integration <= 2.11.0 - Authenticated (Administrator+) Stored Cross-Site Scripting via 'App ID' Setting
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Lustmored Lockme Calendars Integration
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-13T14:26:53.516Z

Reserved: 2026-02-27T20:56:31.267Z

Link: CVE-2026-3367

cve-icon Vulnrichment

Updated: 2026-07-13T14:26:49.343Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T09:45:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')