CVE-2026-121976
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.
Executive briefing
A structured intelligence assessment has not yet been generated. The source description is shown above. The background enrichment worker will retry this record.
Evidence confidence: Not assessed Evidence-derived, not an exploitability verdict
Severity & attack characteristics
CVSS vector:CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Technical explanation & impact
Technical root-cause details are not available in the current source record.
Assess the impact using the published CVSS metrics and the affected vendor component.
Affected products and versions
NVD has not supplied machine-readable vulnerable CPE product/version entries for this CVE. This is an information gap, not proof that no products are affected. Check the vendor advisory references below.
Remediation & validation
- Identify exposure by comparing the affected product and version ranges with your asset inventory, SBOM and externally exposed services.
- Review the linked vendor security advisory or patch notes. Upgrade to a vendor-confirmed fixed release; do not infer a fixed version from the CVE description.
- Until patched, consider restricting network access or disabling the affected feature where operationally safe. These are temporary controls, not a substitute for a vendor fix.
- Validate the remediation with a version check and vulnerability rescan, then retain change evidence.
No fixed version is displayed unless it is explicitly established by a vendor advisory. Follow the vendor's release notes for exact product and branch applicability.
Vendor advisories, patches & exploit references
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/ VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/core/helpers/class-modula-helper.php#L17 VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/public/shortcode/class-modula-item-data-processor.php#L629 VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/v2/class-meta-sync.php#L422 VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/v2/images/class-adapter.php#L655 VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/v2/rest/class-gallery-upload-controller.php#L914 VENDOR security@wordfence.com
- https://plugins.trac.wordpress.org/changeset?reponame=&new=3787971%40modula-best-grid-gallery%2Ftags%2F3.0.18&old=3781958%40modula-best-grid-gallery%2Ftags%2F3.0.17 VENDOR security@wordfence.com
- https://www.wordfence.com/threat-intel/vulnerabilities/id/91d3cbc2-00ca-4384-a52d-84fe2f0328b3?source=cve REFERENCE security@wordfence.com