Description
The Modula plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'items' parameter in versions up to, and including, 3.0.17 This is due to insufficient input sanitization of the per-image 'link' field in the save_merged_items() REST handler and Images\Adapter::normalize_item_row(), which preserves unknown keys verbatim, combined with output escaping in Modula_Helper::generate_attributes() that applies only esc_attr() to the resulting anchor href and does not strip the 'javascript:' URL scheme. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page and clicks the gallery tile.
Published: 2026-11-07
Score: 6.4 Medium
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Upgrade Plugin
AI Analysis

Impact

The Modula plugin for WordPress contains a stored cross‑site scripting flaw in the per‑image 'link' field within the 'items' parameter. The defect stems from the REST handler and image adapter passing user‑supplied keys unchanged, while the output helper encodes only the anchor href with esc_attr(), leaving the 'javascript:' scheme intact. Consequently, an authenticated user with Author or higher privileges can inject arbitrary JavaScript into gallery pages. When a target user visits a page containing the gallery and interacts with the vulnerable tile, the embedded script runs in the context of the site, enabling attacks such as cookie theft, credential phishing, or further malicious activity.

Affected Systems

This vulnerability affects the Modula Image Gallery – Photo Grid & Video Gallery plugin developed by wpchill, in any release up to and including version 3.0.17. The flaw resides in the core helpers and REST controller that handle gallery item storage for all WordPress installations that use this plugin version.

Risk and Exploitability

The CVSS score of 6.4 places the flaw in the medium‑severity range, and the EPSS score is not available, so the exact likelihood of exploitation remains unclear. The vulnerability is not catalogued in the CISA KEV list. Attackers need authenticated Author‑level access or higher to trigger the injection; therefore, the exploit requires prior compromise or privilege escalation. Nevertheless, once exploited, the injected script executes with the privileges of the visiting user, potentially compromising session integrity and site integrity for all site visitors.

Generated by OpenCVE AI on November 7, 2026 at 12:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Modula plugin to version 3.0.18 or later, which removes the vulnerable handling of the 'items' parameter.
  • Restrict gallery editing permissions so that only Administrators or trusted users retain the ability to modify gallery items; revoke Author‑level editing rights if not required.
  • If an upgrade cannot be performed immediately, apply a temporary patch that sanitizes the 'link' field in the save_merged_items() REST handler and blocks URLs beginning with "javascript:" or other disallowed schemes.

Generated by OpenCVE AI on November 7, 2026 at 12:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 08 Nov 2026 06:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Sat, 07 Nov 2026 11:30:00 +0000

Type Values Removed Values Added
Description The Modula plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'items' parameter in versions up to, and including, 3.0.17 This is due to insufficient input sanitization of the per-image 'link' field in the save_merged_items() REST handler and Images\Adapter::normalize_item_row(), which preserves unknown keys verbatim, combined with output escaping in Modula_Helper::generate_attributes() that applies only esc_attr() to the resulting anchor href and does not strip the 'javascript:' URL scheme. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page and clicks the gallery tile.
Title Modula Image Gallery <= 3.0.17 - Authenticated (Author+) Stored Cross-Site Scripting via 'items' Parameter
Weaknesses CWE-79
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-11-07T18:06:00.294Z

Reserved: 2026-11-04T13:11:52.039Z

Link: CVE-2026-121976

cve-icon Vulnrichment

Updated: 2026-11-07T17:59:33.604Z

cve-icon NVD

Status : Deferred

Published: 2026-11-07T12:17:45.260

Modified: 2026-11-07T18:17:19.993

Link: CVE-2026-121976

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T12:45:14Z

Weaknesses
  • CWE-79

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