{"id":"CVE-2026-109983","kind":"vulnerability","aliases":["CVE-2026-109983"],"related":[],"title":"YMC Filter WordPress plugin: stored XSS via post title field","description":"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.","summary":"Versions of the YMC Filter plugin up to and including 3.12.19 fail to sanitize the post_title parameter, so a logged-in author can store a script that runs in visitors' browsers. The autocomplete REST endpoint has a permission callback that always returns true, so any visitor can trigger the payload through the filter search box.","severity":"medium","cvss":6.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","wordpress","wordpress-plugins"],"not_affected_if":["plugin-not-installed","plugin-updated"],"how_to_check":"- Check the installed YMC Filter plugin version in the WordPress admin plugin list, or with `wp plugin get ymc-filter --field=version` (plugin slug assumed; unknown if the sources do not confirm it)\n- Review posts by Author-level users for script content in titles\n- unknown for other checks, the sources do not say","fix":"- Update YMC Filter to a version later than `3.12.19` (the first fixed version is unknown from the sources)\n- Until patched, restrict Author-level accounts or disable the YMC Filter plugin","status":"open","published_at":"2026-10-17T08:16:28+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:59:37+00:00","updated_at":"2026-10-25T03:59:37+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:59:37Z","model":"claude-haiku-5-5","output":{"fix":"- Update YMC Filter to a version later than `3.12.19` (the first fixed version is unknown from the sources)\n- Until patched, restrict Author-level accounts or disable the YMC Filter plugin","reach":"internet","title":"YMC Filter WordPress plugin: stored XSS via post title field","impact":"medium","summary":"Versions of the YMC Filter plugin up to and including 3.12.19 fail to sanitize the post_title parameter, so a logged-in author can store a script that runs in visitors' browsers. The autocomplete REST endpoint has a permission callback that always returns true, so any visitor can trigger the payload through the filter search box.","category":"package","nicknames":[],"who_cares":["wordpress","wordpress-plugins","self-hosted"],"confidence":0.7,"needs_auth":"yes","worst_case":"Injected scripts run in visitors' browsers and can steal sessions","analyst_note":"Confirm the first fixed plugin version and the plugin slug from the NVD entry or the WordPress.org plugin page.","how_to_check":"- Check the installed YMC Filter plugin version in the WordPress admin plugin list, or with `wp plugin get ymc-filter --field=version` (plugin slug assumed; unknown if the sources do not confirm it)\n- Review posts by Author-level users for script content in titles\n- unknown for other checks, the sources do not say","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-updated"],"who_is_affected":"Sites running the YMC Filter plugin at version 3.12.19 or earlier are exposed, since the autocomplete endpoint is reachable by any visitor. Sites without the plugin installed are not affected. Authors who cannot create posts add little extra risk, but any site with untrusted authors should treat this as relevant.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000679,"input_tokens":3455,"output_tokens":666,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-109983':13A,16A '-2026':12A,15A '3.12.19':35B,111C 'access':131C,147C,190C 'alway':67B 'arbitrari':136C 'attack':126C 'authent':125C 'author':48B,129C,188C 'author-level':128C,187C 'autocomplet':59B,152C 'base':94C 'box':81B,184C 'browser':57B 'callback':65B,160C 'cross':96C 'cross-sit':95C 'cve':11A,14A 'dom':93C 'dom-bas':92C 'due':112C 'endpoint':61B,154C 'escap':119C 'execut':143C 'fail':36B 'field':10A 'filter':2A,29B,79B,84C,182C 'host':20B 'includ':34B,110C,169C 'inject':135C,149C 'input':115C 'insuffici':114C 'level':130C,189C 'log':46B 'logged-in':45B 'make':121C 'mean':165C 'output':118C 'packag':17B 'page':140C,150C 'paramet':42B,103C 'payload':76B,175C 'permiss':64B,159C 'plugin':4A,24B,30B,85C 'possibl':123C 'post':8A,40B,101C 'regist':156C 'requir':192C 'rest':60B,153C 'return':68B,163C 'run':54B 'sanit':38B,116C 'script':52B,98C,138C 'search':80B,183C 'self':19B 'self-host':18B 'simpli':176C 'site':97C,167C 'store':5A,50B,91C,194C 'titl':9A,41B,102C 'trigger':74B,173C 'true':69B,164C 'type':178C 'unauthent':170C 'uncondit':162C 'user':146C,171C 'version':25B,106C 'via':7A,99C 'visitor':56B,72B,168C 'vulner':89C 'web':137C 'whenev':144C 'wordpress':3A,21B,23B,87C 'wordpress-plugin':22B 'xss':6A 'ymc':1A,28B,83C,181C","nicknames":[],"mitigations":[],"who_affected":"Sites running the YMC Filter plugin at version 3.12.19 or earlier are exposed, since the autocomplete endpoint is reachable by any visitor. Sites without the plugin installed are not affected. Authors who cannot create posts add little extra risk, but any site with untrusted authors should treat this as relevant.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-17T08:16:28+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-109983","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109983","severity":null,"published_at":"2026-10-17T08:16:28+00:00","modified_at":"2026-10-19T15:16:45+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}