Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Contributor-level WordPress account
-
DeliverySubmit pending post with encoded \x3c/script\x3e payload in flipbook shortcode attr
-
ExploitPayload survives wp_kses_post, decoded at render
-
ExecutionEditor/Admin previews pending post
-
PersistScript breaks out of JSON block, runs in admin session
-
ImpactHijack privileged session for site takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with Contributor-level capability or higher on a WordPress site running Real3D Flipbook Lite ≤5.1.1 (PR:L). The attacker must be able to use the flipbook shortcode with the 'lightboxtext' or other on_shortcode()-handled attribute. The stored payload does not self-execute on public pages in the typical case; per the description it fires when a privileged user (Editor/Administrator) previews or moderates the injected pending post - so successful compromise depends on that moderation/preview action occurring, which realistically limits exploitation despite the vendor's UI:N rating. The core defect is wp_json_encode() emitting shortcode-controlled data into a <script type="application/json"> block without the JSON_HEX_TAG flag, combined with shortcode_parse_atts() applying stripcslashes() so \x3c-encoded breakout bytes survive the wp_kses_post save filter. |
| Impact | This is a moderate, not urgent, priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, base 6.4) reflects a network-reachable stored XSS requiring authenticated Contributor-level access (PR:L), with scope change (S:C) because injected script executes in a higher-privileged victim's browser session. No EPSS score, KEV listing, or public POC was provided, so exploitation status is: no public exploit identified at time of analysis. The realistic risk is bounded by two factors the raw score understates: the attacker must already hold a Contributor+ account on the target site, and - despite the vendor's UI:N - the description itself states execution occurs 'whenever a user (typically an Editor or Administrator previewing/moderating the pending post) accesses an injected page,' which implies a human moderation action is required to fire the payload. That tension between UI:N in the vector and the description's explicit reliance on an admin/editor previewing the pending post should be verified against the vendor advisory. The severity is credible for a WordPress privilege-escalation-via-XSS chain (Contributor → Admin session), but it is a targeted, prerequisite-heavy issue rather than a wormable mass-exploitation flaw. |
| Exploit ScenarioDerived | An attacker registers or obtains a Contributor account on a WordPress site running Real3D Flipbook Lite ≤5.1.1, then creates a pending post containing the flipbook shortcode with a 'lightboxtext' (or other) attribute encoded as \x3c/script\x3e\x3cscript\x3e...\x3c/script\x3e. The escape-byte encoding survives the wp_kses_post save-time filter and is decoded to real HTML at render time; when an Editor or Administrator previews or moderates the pending post, the script breaks out of the JSON <script> block and executes in their authenticated session, enabling account/site takeover. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 19, 2026
Stored cross-site scripting in the Real3D Flipbook Lite WordPress plugin (versions up to and including 5.1.1) allows authenticated attackers holding Contributor-level access or higher to inject arbitrary JavaScript into pages via the 'lightboxtext' shortcode attribute and other attributes processed by on_shortcode(). The payload is persisted through the normal WordPress save path and renders inside a <script type="application/json"> block emitted by wp_json_encode() without the JSON_HEX_TAG flag, so a crafted value can break out of the JSON context and execute when a privileged user (typically an Editor or Administrator previewing or moderating the pending post) views the affected page. Successful exploitation therefore depends on a higher-privileged user opening the injected content, which is a meaningful precondition; no public exploit code has been identified at time of analysis, and there is no evidence of confirmed active exploitation (no CISA KEV listing).
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The referenced changeset (3643539) in the WordPress.org plugin repository appears to contain the corrective code change, but a tagged, publicly released patched version above 5.1.1 could not be independently verified from the supplied data, so administrators should confirm the current plugin version on WordPress.org and upgrade as soon as a release newer than 5.1.1 is published, then verify the fix in on_shortcode() and print_global_options() (the corrected code should use JSON_HEX_TAG/JSON_HEX_AMP style flags in wp_json_encode() and sanitize shortcode attributes on input). Until a patched release is confirmed, the most effective compensating control is to remove the ability of untrusted users to submit flipbook shortcode content: either downgrade untrusted accounts below Contributor level, restrict posting to trusted roles, or disable the plugin entirely - the trade-off being loss of the flipbook functionality and/or editorial workflow disruption. Deactivating or removing the plugin resolves the issue but takes all flipbook/PDF embed features offline, and blocking rendering of the affected shortcode attributes (for example by stripping the 'lightboxtext' attribute in a site-specific filter) reduces exposure while potentially breaking legitimate flipbook configurations. Because the payload only executes when a privileged user previews or moderates the injected pending post, tightening moderation procedures - not opening pending posts in a fully privileged browser session, or reviewing submissions in a restricted account/session - limits exploitation but is not a substitute for patching. Site owners should also review pending and published posts containing flipbook shortcodes for suspicious \x3c/script\x3e-style escape sequences as a post-compromise check. Advisory URLs: https://www.wordfence.com/threat-intel/vulnerabilities/id/f6df3abe-ef27-46d7-bbdd-abd994fce132?source=cve and https://plugins.trac.wordpress.org/changeset?reponame=&old=3643539%40real3d-flipbook-lite&new=3643539%40real3d-flipbook-lite.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-Site Scripting) arising from a data-flow defect rather than a single missing escape call. Shortcode attribute values handled by the plugin's on_shortcode() function are copied verbatim into $this->flipbook_options, and print_global_options() later serializes those options into the page through wp_json_encode() inside a <script type="application/json"> element. Because wp_json_encode() is not called with the JSON_HEX_TAG flag, a literal </script> byte sequence supplied in an attribute value terminates the JSON script block early and lets an attacker open a new <script> element. The bypass of the save-time wp_kses_post filter applied to Contributor-submitted content exploits two WordPress behaviors working together: shortcode_parse_atts() applies stripcslashes() to attribute values, and the escape byte sequence \x3c/script\x3e is plain text (not an HTML tag) when the post is saved, so it passes wp_kses_post intact and is only decoded to real angle brackets at render time. The referenced plugin source at includes/Real3DFlipbook.php (relevant lines around 1224, 1468 and 1668 in tag 5.0) shows the on_shortcode()/print_global_options() paths implicated, and the plugin's CPE identifier (cpe:2.3:a:creativeinteractivemedia:real3d_flipbook_-_3d_flipbook,_pdf_flipbook,_pdf_viewer,_pdf_embedder) confirms the affected package is the Creative Interactive Media Real3D Flipbook distribution for WordPress.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Network stored XSS needing a Contributor+ account (PR:L) and a privileged victim previewing the post (UI:R); cross-context execution in admin's browser is S:C with limited C/I impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
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 on_shortcode()) in versions up to, and including, 5.1.1. This is due to insufficient input sanitization and output escaping in the on_shortcode() and print_global_options() functions: shortcode attribute values are copied verbatim into $this->flipbook_options and then emitted via wp_json_encode() inside a <script type="application/json"> block without the JSON_HEX_TAG flag, allowing a literal </script> byte sequence in the attribute value to break out of the JSON script context. Because WordPress's shortcode_parse_atts() applies stripcslashes() to attribute values, an attacker can encode the breakout tag as \x3c/script\x3e\x3cscript\x3e…\x3c/script\x3e, which survives the wp_kses_post 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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-83560
GHSA-4vrv-fq2h-vgq6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB