Skip to main content
Vulnerability Database/CVE-2026-15098

CVE-2026-15098: Real3D Flipbook Lite WordPress XSS Flaw

CVE-2026-15098 is a stored XSS vulnerability in Real3D Flipbook Lite for WordPress affecting versions up to 5.1.1. Attackers with Contributor access can inject malicious scripts via shortcode attributes. This article covers technical details, affected versions, impact assessment, and mitigation strategies.

Published:

CVE-2026-15098 Overview

CVE-2026-15098 is a Stored Cross-Site Scripting [CWE-79] vulnerability in the Real3D Flipbook Lite plugin for WordPress, affecting versions up to and including 5.1.1. The flaw resides in the on_shortcode() and print_global_options() functions, where shortcode attribute values such as lightboxtext are copied into $this->flipbook_options and emitted through wp_json_encode() without the JSON_HEX_TAG flag. Authenticated attackers with Contributor-level access can inject arbitrary JavaScript that executes when Editors or Administrators preview the injected content.

Critical Impact

Contributor-level accounts can plant persistent JavaScript that runs in the browser sessions of higher-privileged reviewers, enabling account takeover and privilege escalation within WordPress.

Affected Products

  • Real3D Flipbook Lite plugin for WordPress, all versions up to and including 5.1.1
  • WordPress sites that permit Contributor-level registration or content submission
  • Editorial workflows where Editors or Administrators preview pending posts containing the plugin's shortcode

Discovery Timeline

  • 2026-09-19 - CVE-2026-15098 published to the National Vulnerability Database
  • 2026-09-21 - Last updated in NVD database

Technical Details for CVE-2026-15098

Vulnerability Analysis

The Real3D Flipbook Lite plugin registers a shortcode handler that stores caller-supplied attribute values inside a plugin state object. The plugin then serializes that object to JSON and prints it inside a <script type="application/json"> block on the page. Because wp_json_encode() is invoked without JSON_HEX_TAG, forward slashes and angle brackets are not escaped in the serialized output.

An attacker with Contributor privileges submits a post containing the flipbook shortcode with a malicious lightboxtext attribute. WordPress applies wp_kses_post at save time, which normally strips script tags. However, shortcode_parse_atts() later calls stripcslashes() on attribute values at render time. This lets the attacker encode the breakout payload as \\x3c/script\\x3e\\x3cscript\\x3e...\\x3c/script\\x3e, where each byte is stored as a benign backslash-hex escape sequence.

The escape bytes bypass wp_kses_post because they contain no HTML tags. At render, stripcslashes() converts them back into literal </script> and <script> sequences, breaking out of the JSON script context and executing the injected code in the reviewer's browser.

Root Cause

The root cause is insufficient output escaping in on_shortcode() and print_global_options(). Shortcode attribute values flow directly into a JSON script block without JSON_HEX_TAG, and the save-time wp_kses_post filter cannot detect payloads encoded as C-style escape sequences that only materialize after stripcslashes() runs.

Attack Vector

Exploitation requires authenticated access at the Contributor role or higher. The attacker creates or edits a post that embeds the vulnerable shortcode with a crafted lightboxtext attribute containing backslash-hex encoded script tags. When an Editor or Administrator previews the pending post to moderate it, the injected script executes with that reviewer's session context. Refer to the Wordfence Vulnerability Report and the WordPress Real3DFlipbook code snippet for the vulnerable sink.

Detection Methods for CVE-2026-15098

Indicators of Compromise

  • Post or page content containing Real3D Flipbook shortcodes with attribute values that include \\x3c, \\x3e, or \\x2f byte sequences.
  • Unexpected <script> fragments appearing inside <script type="application/json"> blocks emitted by the plugin.
  • New administrator accounts, altered user roles, or plugin installations following review of pending Contributor posts.

Detection Strategies

  • Scan the wp_posts table for shortcode attribute values matching regular expressions such as \\\x3c/?script targeting the plugin's shortcode name.
  • Monitor rendered pages for the literal string </script><script> inside JSON script blocks associated with the flipbook.
  • Review WordPress audit logs for Contributor accounts submitting posts that embed the Real3D Flipbook shortcode.

Monitoring Recommendations

  • Alert on browser console errors or Content Security Policy violations originating from pages rendering the flipbook shortcode.
  • Track privilege changes and plugin/theme modifications performed shortly after Editor or Administrator preview activity.
  • Aggregate WordPress and web server logs into a centralized platform to correlate Contributor submissions with subsequent administrative actions.

How to Mitigate CVE-2026-15098

Immediate Actions Required

  • Update Real3D Flipbook Lite to a version newer than 5.1.1 that includes the vendor's fix; see the WordPress Plugin Changeset.
  • Audit existing posts and pages for the plugin's shortcode and remove any attribute values containing backslash-hex escape sequences.
  • Review Contributor and Author accounts, revoking access for untrusted users until the plugin is patched.

Patch Information

The vendor addressed the issue in the plugin update tracked by the WordPress.org Plugin Changeset 3643539. The fix hardens on_shortcode() and print_global_options() output handling so shortcode attributes can no longer break out of the JSON script context.

Workarounds

  • Deactivate the Real3D Flipbook Lite plugin until the patched version is deployed.
  • Restrict who can submit or preview posts containing the plugin shortcode by tightening Contributor role capabilities.
  • Deploy a Content Security Policy that disallows inline script execution to reduce impact if injection occurs.
bash
# Configuration example: locate vulnerable installations via WP-CLI
wp plugin list --name=real3d-flipbook-lite --fields=name,status,version
wp plugin update real3d-flipbook-lite

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.