{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-87869", "assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599", "state": "PUBLISHED", "assignerShortName": "Wordfence", "dateReserved": "2026-09-09T13:22:17.653Z", "datePublished": "2026-10-10T04:26:45.199Z", "dateUpdated": "2026-10-10T04:26:45.199Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599", "shortName": "Wordfence", "dateUpdated": "2026-10-10T04:26:45.199Z" }, "affected": [ { "vendor": "stepasyuk", "product": "Filter Everything — WordPress & WooCommerce Filters", "versions": [ { "version": "0", "status": "affected", "lessThanOrEqual": "1.9.6", "versionType": "semver" } ], "defaultStatus": "unaffected" } ], "descriptions": [ { "lang": "en", "value": "The Filter Everything — WordPress & WooCommerce Filters plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 1.9.6. This is due to insufficient input sanitization and output escaping in the flrt_elementor_load_more_anchor() function. The function reads query parameters from $_SERVER['REQUEST_URI'] via getFormActionOrFullPageUrl(true), which URL-decodes them through parse_str() and re-assembles them using build_query() — a WordPress core function that does NOT re-encode values ($urlencode=false). The resulting URL, containing unescaped special characters, is injected into a data-next-page HTML attribute via preg_replace() without esc_attr() or esc_url(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a specially crafted link." } ], "title": "Filter Everything — WordPress & WooCommerce Filters <= 1.9.6 - Reflected Cross-Site Scripting via Elementor Posts Widget Pagination URL", "references": [ { "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/7f0f453c-ca01-4ccc-b8c0-4468db40386a?source=cve" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.6/src/wpc-third-party.php#L793" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.6/src/UrlManager.php#L197" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.6/src/wpc-helpers.php#L207" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.2.1/src/wpc-third-party.php#L793" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.2.1/src/UrlManager.php#L197" }, { "url": "https://plugins.trac.wordpress.org/browser/filter-everything/tags/1.9.2.1/src/wpc-helpers.php#L207" }, { "url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3707235%40filter-everything&new=3707235%40filter-everything" } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "description": "CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')", "cweId": "CWE-79", "type": "CWE" } ] } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM" } } ], "credits": [ { "lang": "en", "type": "finder", "value": "Omar Elshopky (3l5h0pky)" } ], "timeline": [ { "time": "2026-09-21T12:14:27.000Z", "lang": "en", "value": "Vendor Notified" }, { "time": "2026-10-09T15:41:31.000Z", "lang": "en", "value": "Disclosed" } ] } } }