CVE-2026-15098: Real 3D Flipbook <= 5.1.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'lightboxtext' Shortcode Attribute
The Real3D Flipbook Lite plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'lightboxtext' shortcode attribute (and other unsanitized attributes handled by onshortcode()) in versions up to, and including, 5.1.1. This is due to insufficient input sanitization and output escaping in the onshortcode() and printglobaloptions() functions: shortcode attribute values are copied verbatim into $this->flipbookoptions and then emitted via wpjsonencode() inside a <script type="application/json"> block without the JSONHEXTAG flag, allowing a literal </script> byte sequence in the attribute value to break out of the JSON script context. Because WordPress's shortcodeparseatts() applies stripcslashes() to attribute values, an attacker can encode the breakout tag as \x3c/script\x3e\x3cscript\x3e…\x3c/script\x3e, which survives the wpksespost save-time filter applied to Contributor content (the escape bytes are safe text characters, not HTML tags) and is decoded to real angle brackets at render time. 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 (typically an Editor or Administrator previewing/moderating the pending post) accesses an injected page.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated WordPress user with Contributor-level access or higher can exploit it by supplying a crafted shortcode attribute. No user interaction is required from the attacker to store the payload.
When does the injected script execute?
The injected script executes when a page containing the malicious Real3D Flipbook shortcode is viewed. This can affect other users who visit the affected page.
Are standard Contributor content restrictions sufficient to prevent exploitation?
No. The described payload uses escaped byte sequences that pass the wp_kses_post save-time filter, then become literal script-breaking characters when the shortcode is rendered.
Which versions are affected?
Real3D Flipbook Lite versions up to and including 5.1.1 are affected.