# BMI Adult & Kid Calculator <= 1.2.3 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'id_calc' Shortcode Attribute

- **ID:** WPSEC-2026-1421
- **Plugin:** BMI Adult & Kid Calculator (`bmi-adultkid-calculator`), https://wordpress.org/plugins/bmi-adultkid-calculator/
- **Affected versions:** all versions before 1.2.4
- **Fixed in:** 1.2.4 (Update to 1.2.4 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-10-22)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/bmi-adultkid-calculator
- **Fix released:** 2026-10-21
- **Published:** 2026-10-22
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1421/

## Description

The BMI Adult & Kid Calculator plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'id_calc' attribute of the BMIAKC_kid_calc shortcode in all versions up to, and including, 1.2.3. This is due to insufficient input sanitization, as the attribute is output unquoted into inline JavaScript variable and function names with only esc_attr(), which does not prevent JavaScript injection. 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.

## References

- https://wpsec.com/vuln/WPSEC-2026-1421/
- https://plugins.svn.wordpress.org/bmi-adultkid-calculator/tags/1.2.4/
- https://wordpress.org/plugins/bmi-adultkid-calculator/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1421/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
