---
id: CVE-2026-18988
title: >-
  The Easy Accordion plugin for WordPress is vulnerable to Stored Cross-Site
  Scripting via the 'accordionTitleTag' block attribute in versions up to, and
  including, 3.1.8
summary: >-
  The Easy Accordion plugin for WordPress is vulnerable to Stored Cross-Site
  Scripting via the 'accordionTitleTag' block attribute in versions up to, and
  including, 3.1.8. This is due to insufficient input sanitization and output
  escaping …
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
published: '2026-08-08'
updated: '2026-08-08'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-18988'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/easy-accordion-free/tags/3.1.2/Blocks/Includes/Render_Blocks_Template.php#L100
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/easy-accordion-free/tags/3.1.2/Blocks/Includes/Render_Blocks_Template.php#L126
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/easy-accordion-free/tags/3.1.2/Blocks/Includes/Render_Blocks_Template.php#L89
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/easy-accordion-free/tags/3.1.2/Blocks/Includes/block-attributes.php#L32
    label: security@wordfence.com
  - url: 'https://plugins.trac.wordpress.org/changeset/3637700/'
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/6a8a5b2b-6cb0-48bf-ba03-d23b1624390d?source=cve
    label: security@wordfence.com
tags:
  - nvd
epss: 0.00349
epssPercentile: 0.25825
ingestedAt: '2026-08-09T03:32:40.108Z'
---

## Overview

The Easy Accordion plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'accordionTitleTag' block attribute in versions up to, and including, 3.1.8. This is due to insufficient input sanitization and output escaping in the accordion_header_renderer() function, which emits the attacker-supplied tag name using esc_attr() in an HTML tag-name context instead of tag_escape(). 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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
