Description
The Global Body Mass Index Calculator plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'gbmicalc' shortcode in versions up to, and including, 1.2. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes in the GBMI_Calc_Widget::widget() function. Shortcode attributes are extracted directly into local variables via @extract($args) and then echoed unescaped into an HTML style attribute (height/width) and HTML body context (title), allowing attribute-breakout payloads. 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-06-08: | Disclosed |
Credits
Muhammad Yudha - DJ
References
www.wordfence.com/...-17c5-413c-a31b-f6f039015e26?source=cve
plugins.trac.wordpress.org/...lculator/tags/1.2/gbmicalc.php
plugins.trac.wordpress.org/...lculator/tags/1.2/gbmicalc.php
plugins.trac.wordpress.org/...lculator/tags/1.2/gbmicalc.php
plugins.trac.wordpress.org/...lculator/tags/1.2/gbmicalc.php