Description
The tagDiv Composer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the vc_raw_html shortcode in all versions up to and including 5.4.5. This is due to insufficient input sanitization and output escaping in the vc_raw_html::render() method, which base64-decodes shortcode content (after a strip_tags() that is bypassed because the encoded payload contains no tags on save) and concatenates the result directly into the page HTML. Because WordPress's save-time wp_kses_post() filter only sees the inert base64 text inside a normal shortcode bracket and does not decode it, the dangerous tags survive into post_content and are emitted unescaped 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 accesses an injected page (for example, when an Editor or Administrator previews the pending post).
Published: 2026-08-25
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Immediate Patch
AI Analysis

Impact

The tagDiv Composer WordPress plugin allows users to embed raw HTML via the vc_raw_html shortcode. The plugin’s rendering function decodes Base64 content without properly sanitizing or escaping it, so an attacker can place a Base64‑encoded string containing malicious JavaScript that bypasses WordPress’s save‑time filtering. When the content is rendered, the script is injected directly into the page’s HTML and will execute in any browser that loads the affected page, allowing the attacker to compromise the victim’s session, deface the site or execute further attacks.

Affected Systems

tagDiv Composer plugin v5.4.5 and all earlier releases are vulnerable. The vulnerability affects any WordPress installation that has the plugin installed and permits creation or modification of pages using the vc_raw_html shortcode.

Risk and Exploitability

The vulnerability is scored at CVSS 6.4, indicating moderate severity. No EPSS score is published, and the not currently listed in CISA’s KEV catalog. The attack requires an authenticated user with Contributor or higher privileges, which the description confirms. An attacker must first obtain such credentials or exploit an already compromised Contributor account; once achieved, the attacker can create or edit content that contains the malformed shortcode, causing arbitrary JavaScript to run in the browsers of anyone who views or previews the affected page.

Generated by OpenCVE AI on August 25, 2026 at 05:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the tagDiv Composer plugin to the latest released version that fixes the stored XSS vulnerability.
  • If an upgrade cannot be performed immediately, remove the vc_raw_html shortcode from plugin functionality or delete any content that contains it, thereby eliminating the stored script payloads.
  • Limit Contributor and higher role members to trusted accounts or temporarily revoke editing privileges for posts that may contain the vulnerable shortcode.
  • Apply general input validation and output encoding best practices, ensuring that any untrusted content is escaped before rendering, which mitigates similar future flaws.

Generated by OpenCVE AI on August 25, 2026 at 05:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 25 Aug 2026 05:45:00 +0000

Type Values Removed Values Added
First Time appeared Tagdiv
Tagdiv tagdiv Composer
Wordpress
Wordpress wordpress
Vendors & Products Tagdiv
Tagdiv tagdiv Composer
Wordpress
Wordpress wordpress

Tue, 25 Aug 2026 04:45:00 +0000

Type Values Removed Values Added
Description The tagDiv Composer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the vc_raw_html shortcode in all versions up to and including 5.4.5. This is due to insufficient input sanitization and output escaping in the vc_raw_html::render() method, which base64-decodes shortcode content (after a strip_tags() that is bypassed because the encoded payload contains no tags on save) and concatenates the result directly into the page HTML. Because WordPress's save-time wp_kses_post() filter only sees the inert base64 text inside a normal shortcode bracket and does not decode it, the dangerous tags survive into post_content and are emitted unescaped 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 accesses an injected page (for example, when an Editor or Administrator previews the pending post).
Title tagDiv Composer <= 5.4.5 - Authenticated (Contributor+) Stored Cross-Site Scripting
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Tagdiv Tagdiv Composer
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-25T12:06:05.846Z

Reserved: 2026-06-17T20:23:37.179Z

Link: CVE-2026-12561

cve-icon Vulnrichment

Updated: 2026-08-25T12:05:48.091Z

cve-icon NVD

Status : Deferred

Published: 2026-08-25T05:17:19.867

Modified: 2026-08-26T16:19:05.917

Link: CVE-2026-12561

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T05:30:16Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')