Skip to main content

WPeMatico RSS Fetcher EUVDEUVD-2026-102798

| CVE-2026-110252 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-16 Wordfence GHSA-gjv3-f2fr-pfqr
5.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Publish or compromise targeted RSS feed
  2. Delivery
    Admin campaign fetches feed item
  3. Exploit
    kses filter removed before wp_insert_post
  4. Execution
    Raw script stored in post_content
  5. Impact
    Payload executes in post viewer's browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a specific chain: (1) a WordPress administrator must have created/saved a WPeMatico campaign, which causes the plugin to automatically set the unfiltered_html capability flag on that campaign's last editor; (2) that campaign must be subscribed to an RSS feed the attacker can publish to or compromise; and (3) a user must subsequently view the imported post for the stored script to execute. The core defect is that the plugin removes WordPress's wp_filter_post_kses filter from content_save_pre immediately before calling wp_insert_post(), and stores $item->get_content() raw (only entity-decoded) in post_content. Limiting factors that reduce real-world risk: the attacker does not choose which feeds an admin subscribes to (AC:H), exploitation is confined to WPeMatico versions ≤2.9, and payload execution is passive/deferred until someone visits the injected post.

Impact

This is a genuine but moderate-priority issue, not a drop-everything emergency. The NVD CVSS of 5.4 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N) accurately captures the shape of the flaw: network-reachable and requiring no attacker authentication (PR:N), but with high attack complexity (AC:H) because exploitation depends on a chain of preconditions the attacker does not control - an administrator must already have configured a WPeMatico campaign (which auto-grants the unfiltered_html flag) and subscribed it to a feed the attacker can publish to or compromise. No EPSS score was supplied, the CVE is not on the CISA KEV list, and no public proof-of-concept was provided, so exploitation status is: no public exploit identified at time of analysis. The signals are internally consistent - a stored XSS with low individual impacts (C:L/I:L) and a scope change (S:C, reflecting execution in a visitor's browser context) legitimately lands in the medium band - and none of them (EPSS, KEV, POC) elevate it. The one nuance to verify is the AC:H versus PR:N interplay: the attacker is unauthenticated on the target, but success hinges entirely on a victim administrator's prior feed-subscription choice, so real-world exploitability is narrower than 'unauthenticated network XSS' sounds in isolation.

Exploit ScenarioDerived

An attacker publishes (or compromises the server of) an RSS feed that a WordPress administrator has subscribed a WPeMatico campaign to, then seeds a feed item whose content contains a malicious <script> payload. Because the plugin strips WordPress's wp_filter_post_kses filter before inserting admin-saved campaign content, the raw script is stored verbatim in post_content and executes in the browser of anyone who later views the imported post. No public exploit code was identified, and the network vector is offset by high complexity (AC:H) since the attacker depends on the admin having already subscribed to the attacker-influenced feed.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Stored cross-site scripting in the WPeMatico RSS Feed Fetcher WordPress plugin (etruel) affects all versions up to and including 2.9 and allows an unauthenticated remote attacker to plant arbitrary web scripts inside imported posts. The attacker does not need a WordPress account: because the plugin strips WordPress's wp_filter_post_kses filter from content_save_pre immediately before calling wp_insert_post() whenever a campaign's last editor holds the unfiltered_html capability - a flag the plugin sets automatically for every admin-saved campaign - raw RSS markup taken from $item->get_content() is written verbatim into post_content. Exploitation therefore depends on an administrator having subscribed a campaign to an RSS feed the attacker publishes or compromises, and the injected script only fires when a visitor later opens the imported post; no public exploit code or confirmed active exploitation was identified at time of analysis, and the assessed CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N, 5.4) reflects that attacker-controlled precondition.

RemediationAI

Apply the vendor fix rather than relying on configuration: the upstream commit 44c4894a0ad92a711c534ad4d822c0b5d7c3dffe (https://github.com/etruel/wpematico/commit/44c4894a0ad92a711c534ad4d822c0b5d7c3dffe), mirrored in Trac changeset 3747465, introduces includes/feed-html.php with the WPeMatico_Feed_HTML sanitizer annotated @since 2.9.1, so upgrade WPeMatico to the release containing that commit (2.9.1 or later) and confirm the plugin directory shows the new feed-html.php file - the deployed build, not just the plugin header, should be verified because the released patched version is not independently confirmed here. If immediate upgrade is impossible, treat every subscribed feed as untrusted input: unsubscribe campaigns from feeds you do not fully control or author, set feed item retrieval to trusted sources only, and manually review or strip markup on newly imported posts before publishing - accepting that this only removes attacker-controlled publication, not the underlying absence of kses filtering. Also avoid toggling the global 'skip the content filters' option together with a campaign's 'store the content unfiltered' setting, which the patched code gates behind WPeMatico_Feed_HTML::keeps_raw() and which widens the exposure; note this is a narrowing control, not a fix. Where a WAF or reverse proxy is available, block stored payloads by scanning POST bodies and RSS-derived content for script tags and on* event handlers, and enable a restrictive Content-Security-Policy on the front end to blunt script execution - both are compensating controls with the trade-off of false positives on legitimate embedded media and possible breakage of third-party embeds, since the patch itself deliberately retains iframe support. There is no vendor-released patch identified for the 2.9 and earlier code line short of the upstream commit; no vendor workaround that disables the wp_filter_post_kses removal has been published.

Affected VersionsENISA

WPeMatico RSS Feed Fetcher 0 ≤2.9

Affected Packages

euvd wpematico_rss_feed_fetcher no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), realized as a sanitization-bypass in WordPress's content pipeline rather than a missing escape at output time. WordPress normally enforces wp_filter_post_kses on the content_save_pre filter, which runs kses filtering on any post body before it is persisted, stripping disallowed tags and event handlers for users without the unfiltered_html capability. WPeMatico's campaign_fetch.php removes that filter right before wp_insert_post(), restores it immediately afterward, and inserts feed item content that was only entity-decoded - no wp_kses() pass - so markup from an external RSS document is stored unfiltered in post_content and later rendered to visitors. The campaign-level unfiltered_html flag is set automatically whenever an administrator saves a campaign, so the bypass condition is met by routine plugin configuration rather than an explicit admin decision. The upstream fix adds an includes/feed-html.php helper (class WPeMatico_Feed_HTML, annotated @since 2.9.1) that sanitizes title, excerpt, template variables and content via wp_kses with an allow-list built from wp_kses_allowed_html('post') plus iframe attributes, and additionally applies esc_url() to feed-supplied image sources, wp_kses() to campaign log output, and a shared allowed-html set in the preview AJAX handler - indicating the same unsanitized-feed-markup pattern existed in several adjacent code paths. Affected installs are identified by CPE cpe:2.3:a:etruel:wpematico_rss_feed_fetcher:*:*:*:*:*:*:*:* (all versions, plugin slug wpematico).

Know when Wpematico Rss Feed Fetcher gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 5.4 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

AV:N and PR:N because an unauthenticated remote attacker feeds content over the network; AC:H because success depends on an admin having pre-subscribed a campaign to the attacker-controlled feed; S:C as script executes in the visitor's browser context.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The WPeMatico RSS Feed Fetcher plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2.9 This is due to the plugin removing WordPress's wp_filter_post_kses filter from content_save_pre immediately before calling wp_insert_post() with RSS feed content, whenever the campaign's last editor had the unfiltered_html capability - a flag the plugin sets automatically for every admin-saved campaign. Imported item content is taken raw from $item->get_content(), only entity-decoded, and stored verbatim in post_content. This makes it possible for unauthenticated attackers, who publish or compromise an RSS feed that an administrator has subscribed a WPeMatico campaign to, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected imported post.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular but non-universal WordPress RSS auto-posting plugin
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2026-19883 HIGH POC
8.8 Aug 22

Privilege escalation in WPeMatico RSS Feed Fetcher (all versions through 2.8.24) allows any authenticated WordPress subs

CVE-2026-89006 MEDIUM POC
6.8 Sep 27

Stored cross-site scripting in the WPeMatico RSS Feed Fetcher WordPress plugin before 2.8.27 lets an authenticated user

CVE-2026-89005 MEDIUM POC
6.8 Sep 24

Stored cross-site scripting in the WPeMatico RSS Feed Fetcher WordPress plugin before 2.8.26 allows authenticated users

CVE-2026-89002 MEDIUM POC
6.8 Sep 24

Stored cross-site scripting in the WPeMatico RSS Feed Fetcher WordPress plugin before version 2.8.26 allows authenticate

CVE-2026-89001 MEDIUM POC
4.9 Sep 27

Authenticated contributors can bypass publishing permissions and spoof post authorship in WordPress sites running WPeMat

CVE-2021-24793 MEDIUM POC
4.8 Nov 01

The WPeMatico RSS Feed Fetcher WordPress plugin before 2.6.12 does not escape the Feed URL added to a campaign before ou

CVE-2026-89003 MEDIUM POC
4.1 Sep 27

Server-side request forgery in the WPeMatico RSS Feed Fetcher WordPress plugin before 2.8.27 lets an authenticated user

CVE-2026-89000 MEDIUM POC
4.1 Sep 27

Server-side request forgery in the WPeMatico RSS Feed Fetcher WordPress plugin before version 2.8.27 allows an authentic

CVE-2026-57349 HIGH
7.1 Jul 02

Stored/reflected Cross-Site Scripting in the WPeMatico RSS Feed Fetcher WordPress plugin (versions 2.8.17 and earlier) a

CVE-2026-89004 LOW POC
2.7 Sep 24

Authenticated information disclosure in the WPeMatico RSS Feed Fetcher WordPress plugin before 2.8.26 lets any account w

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy