---
id: CVE-2026-109983
title: >-
  YMC Filter <= 3.12.19 - Authenticated (Author+) Stored DOM-Based Cross-Site
  Scripting via 'post_title' Parameter
summary: >-
  The YMC Filter plugin for WordPress is vulnerable to Stored DOM-Based
  Cross-Site Scripting via the 'post_title' parameter in all versions up to, and
  including, 3.12.19 due to insufficient input sanitization and output escaping.
  This make…
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'
cvssSource: cna
cwe:
  - CWE-79
vendor: wssoffice21
product: YMC Filter
affected:
  - ymc_filter <= 3.12.19
published: '2026-10-17'
updated: '2026-10-17'
sourceUpdated: '2026-10-17T07:51:25.038Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-109983'
references:
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/27cfa62d-ba16-4344-be0c-82cac4d21d1c?source=cve
  - url: >-
      https://plugins.trac.wordpress.org/browser/ymc-smart-filter/tags/3.12.19/ymc2/src/api/controllers/frontend/FG_REST_Frontend_Search_Controller.php#L148
  - url: >-
      https://plugins.trac.wordpress.org/browser/ymc-smart-filter/tags/3.12.19/ymc2/src/api/abstracts/FG_REST_Abstract_Controller.php#L66
  - url: >-
      https://plugins.trac.wordpress.org/browser/ymc-smart-filter/tags/3.12.19/ymc2/assets/js/frontend/ymc-public.min.js#L10
  - url: >-
      https://plugins.trac.wordpress.org/browser/ymc-smart-filter/tags/3.12.19/ymc2/src/api/controllers/frontend/FG_REST_Frontend_Search_Controller.php#L135
  - url: 'https://wordpress.org/plugins/ymc-smart-filter'
  - url: >-
      https://plugins.trac.wordpress.org/browser/ymc-smart-filter/tags/3.12.20/ymc2/src/api/controllers/frontend/FG_REST_Frontend_Search_Controller.php
tags:
  - cve.org
ingestedAt: '2026-10-17T08:02:17.670Z'
---

## Overview

The YMC Filter plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'post_title' parameter in all versions up to, and including, 3.12.19 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The autocomplete REST endpoint is registered with a permission callback that unconditionally returns true, meaning any site visitor — including unauthenticated users — can trigger the payload simply by typing in the YMC filter search box, while only Author-level access is required to store it.

## Affected

- `ymc_filter <= 3.12.19`

## Remediation

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