# Zotpress <= 7.4.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via zotpressInText Shortcode

- **ID:** WPSEC-2026-1667
- **Plugin:** Zotpress (`zotpress`), https://wordpress.org/plugins/zotpress/
- **Affected versions:** all versions before 7.4.5
- **Fixed in:** 7.4.5 (Update to 7.4.5 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-27)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/zotpress
- **Fix released:** 2026-10-25
- **Published:** 2026-10-26
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1667/

## Description

The Zotpress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'item' and 'items' attributes of the zotpressInText shortcode in all versions up to, and including, 7.4.4. This is due to insufficient input sanitization and output escaping: the attribute values are passed through html_entity_decode(), which turns entity-encoded markup back into live HTML, and are then printed without escaping in the in-text citation markup and in the item list that the zotpressInTextBib shortcode outputs. 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-1667/
- https://plugins.svn.wordpress.org/zotpress/tags/7.4.5/
- https://wordpress.org/plugins/zotpress/

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

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.
