Modula Image Gallery <= 3.0.17 — Authenticated (Author+) Stored Cross-Site Scripting via 'items' Parameter
CVE-2026-121976Published · Updated Action summary
Affected: ≤3.0.17Update to 3.0.18 or newer
All remediation steps- Severity
- Medium6.4
- CVSS
- 6.4CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:LPrivileges required- Low
UI:NUser interaction- None
S:CScope- Changed
C:LConfidentiality- Low
I:LIntegrity- Low
A:NAvailability- None
- Weakness
- CWE-79 Cross-Site Scripting
- Required access
- Unknown
- Exploit prediction (EPSS)
- 0.3% chance in 30 days25th percentile
- CISA KEV
- Not listed
On this page8
Am I affected?
Modula Image Gallery – Photo Grid & Video Gallery modula-best-grid-gallery
- Affected≤ 3.0.17
- Patched in3.0.18
Update to 3.0.18 or newer.
You are affected if you run ≤ 3.0.17. Version 3.0.18 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Modula Image Gallery – Photo Grid & Video Gallery.
- No admin access? Run a passive check of your site. It reads public files only.
What to do
- Update to version 3.0.18, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch Modula Image Gallery – Photo Grid & Video Gallery to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Wordfence PRISM.
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.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in Modula Image Gallery – Photo Grid & Video Gallery
All 22| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.5 | Missing Authorization to Unauthenticated Sensitive Information Exposure via Exposed 'modulaSettings' REST field on the modula-gallery CPT ≤3.0.11Update to 3.0.12 | CVE-2026-107659 | |
| Medium5.3 | Unauthenticated Information Exposure ≤3.0.11Update to 3.0.12 | CVE-2026-105876 | |
| High7.5 | Missing Authorization to Unauthenticated Private Gallery Image Disclosure via 'modula_gallery_id' and 'modula_image_id' Parameters ≤3.0.1Update to 3.0.2 | CVE-2026-89406 | |
| High8.1 | Missing Authorization to Authenticated (Author+) Arbitrary File Deletion (Non-PHP) via 'file' Parameter ≤3.0.2Update to 3.0.3 | CVE-2026-92713 | |
| Medium6.4 | Authenticated (Contributor+) Stored Cross-Site Scripting 2.14.25 – 2.14.30Update to 2.14.31 | CVE-2026-65475 |
- High7.5Missing Authorization to Unauthenticated Sensitive Information Exposure via Exposed 'modulaSettings' REST field on the modula-gallery CPT
≤3.0.11Update to 3.0.12
- Medium5.3Unauthenticated Information Exposure
≤3.0.11Update to 3.0.12
- High7.5Missing Authorization to Unauthenticated Private Gallery Image Disclosure via 'modula_gallery_id' and 'modula_image_id' Parameters
≤3.0.1Update to 3.0.2
- High8.1Missing Authorization to Authenticated (Author+) Arbitrary File Deletion (Non-PHP) via 'file' Parameter
≤3.0.2Update to 3.0.3
- Medium6.4Authenticated (Contributor+) Stored Cross-Site Scripting
2.14.25 – 2.14.30Update to 2.14.31
Same weakness (Cross-Site Scripting)
All Cross-Site Scripting| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.2 | Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header | CVE-2026-120688 | |
| Critical9.8 | Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission | CVE-2026-125055 | |
| Critical9.8 | Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter | CVE-2026-119077 | |
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'search' Parameter | CVE-2026-121518 |
- High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
EZ SQL Reports Shortcode Widget and DB Backup
≤5.25.25Update to 5.26.45
- Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission
Chatterbug Forms – Fast, Flexible WordPress Form Builder
≤1.0.2Update to 1.1
- Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter
ELEX WordPress HelpDesk & Customer Ticketing System
≤3.3.9Update to 3.4.0
- Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce
≤5.127.0Update to 5.128.0
Timeline
CVE published
Severity medium, CVSS 6.4
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- [object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- EPSS
- Exploit Prediction Scoring System by FIRST.org.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
