Description
The Investi plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'investi-announcements-accordion' shortcode's 'maximum-num-years' attribute in all versions up to, and including, 1.0.26. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, the 'maximum-num-years' attribute value is read directly from shortcode attributes and interpolated into a double-quoted HTML attribute without any escaping (no esc_attr(), htmlspecialchars(), or similar). This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Problem types
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Product status
Any version
Timeline
| 2026-04-07: | Disclosed |
Credits
Gilang Asra Bilhadi
References
www.wordfence.com/...-e623-46d1-9d37-a36b4825c071?source=cve
plugins.trac.wordpress.org/...sti/trunk/includes/widgets.php
plugins.trac.wordpress.org/...gs/1.0.22/includes/widgets.php
plugins.trac.wordpress.org/...sti/trunk/includes/widgets.php
plugins.trac.wordpress.org/...gs/1.0.22/includes/widgets.php
plugins.trac.wordpress.org/changeset/3486937/