Description
The ShortPixel Image Optimizer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the attachment post_title in all versions up to, and including, 6.4.3. This is due to insufficient output escaping in the getEditorPopup() function and its corresponding media-popup.php template. Specifically, the attachment's post_title is retrieved from the database via get_post() in AjaxController.php (line 435) and passed directly to the view template (line 449), where it is rendered into an HTML input element's value attribute without esc_attr() escaping (media-popup.php line 139). Since WordPress allows Authors to set arbitrary attachment titles (including double-quote characters) via the REST API, a malicious author can craft an attachment title that breaks out of the HTML attribute and injects arbitrary JavaScript event handlers. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts that execute whenever a higher-privileged user (such as an administrator) opens the ShortPixel AI editor popup (Background Removal or Image Upscale) for the poisoned attachment.
Problem types
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Product status
Any version
Timeline
| 2026-03-17: | Vendor Notified |
| 2026-03-25: | Disclosed |
Credits
daroo
References
www.wordfence.com/...-2644-4d17-aaa5-4f088cf48f73?source=cve
plugins.trac.wordpress.org/.../view/snippets/media-popup.php
plugins.trac.wordpress.org/.../view/snippets/media-popup.php
plugins.trac.wordpress.org/.../Controller/AjaxController.php
plugins.trac.wordpress.org/.../Controller/AjaxController.php
plugins.trac.wordpress.org/...ptimiser&sfp_email=&sfph_mail=