# CVE-2026-121976: Modula plugin for WordPress stored cross-site scripting in gallery items

Source: https://junglewise.ai/threats/cve-2026-121976-the-modula-plugin-for-wordpress-is-vulnerable-to-stored-cross  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-07. Updated: 2026-11-07  
License: CC BY 4.0 with a link back

CVE-2026-121976 · Severity: medium · CVSS 6.4 · Published 2026-11-07

Modula is a WordPress plugin that creates image galleries on websites. Authenticated users with Author-level access can inject malicious scripts into gallery items that execute in the browsers of visitors who click on those items, potentially stealing credentials or performing unauthorized actions on behalf of users.

Vendors: [Modula](https://junglewise.ai/threats/vendors/modula).

## Quick answers

**Is CVE-2026-121976 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-121976 being exploited in the wild.

**How severe is CVE-2026-121976?** Medium severity, with a CVSS score of 6.4, published 7 November 2026.

**Which products and versions are affected?** Modula Best Grid Gallery up to and including 3.0.17.

**Is there a fix for CVE-2026-121976?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-121976 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-121976?** Check whether you run Modula Best Grid Gallery at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a stored XSS in the Modula WordPress plugin affecting versions up to 3.0.17. The flaw exists in the save_merged_items() REST handler and Images\Adapter::normalize_item_row() functions, which fail to sanitize the 'link' field of per-image gallery items. Output escaping in Modula_Helper::generate_attributes() uses only esc_attr() on the anchor href and does not strip javascript: URLs, allowing authenticated attackers with Author-level access to inject arbitrary scripts that persist in the database and execute when users click gallery tiles.

## Affected products

- Modula Modula Best Grid Gallery up to and including 3.0.17

## Timeline

- 2026-11-07: disclosed

## References

- [https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/](https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/)
- [https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/core/helpers/class-modula-helper.php](https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.17/includes/core/helpers/class-modula-helper.php)
