Stored cross-site scripting in Webmention plugin for WordPress
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
The Webmention plugin for WordPress by pfefferle is affected up to and including version 5.10.1. Insufficient input sanitization of the Open Graph og:title meta tag in webmention source URLs enables stored cross-site scripting (CWE-79). An unauthenticated attacker can inject scripts that run when a user accesses an injected page, after an administrator approves the pending webmention comment.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
The Webmention plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Open Graph og:title meta tag of a webmention source URL in versions up to, and including, 5.10.1. This is due to insufficient input sanitization: Meta::add_properties() maps og:title to the Item::name property, but Item has no concrete set_name() method, so Item::__call() stores the value raw while sibling set_content()/set_summary() paths route through webmention_sanitize_html(); Item::get_content() then falls back to the raw name when content and summary are empty, and Receiver::process() explicitly removes the core wp_filter_kses / wp_filter_post_kses hooks on pre_comment_content before calling wp_new_comment(), so the payload is persisted to comment_content as-is. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page, after an administrator approves the resulting pending webmention comment. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for Webmention.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Timeline
- 2026-10-31 Threatist record created from CVE-2026-111109
- 2026-10-31 Alias added: GHSA-98q7-93hh-5593
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-01 CISA SSVC decision points changed
References
Other 8
- https://www.wordfence.com/threat-intel/vulnerabilities/id/0b283d17-b89f-467d-8a79-cdf7b9bfdb65?source=cve
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.1/includes/handler/class-meta.php#L78
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.1/includes/entity/class-item.php#L297
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.1/includes/class-receiver.php#L453
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.1/includes/entity/class-item.php#L125
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.1/includes/class-receiver.php#L267
- https://github.com/pfefferle/wordpress-webmention/pull/698
- https://plugins.trac.wordpress.org/browser/webmention/tags/5.10.2/includes/class-receiver.php
More pfefferle vulnerabilities
- TI-2026-09044 Webmention <= 5.8.0 - Unauthenticated Stored Cross-Site Scripting via MF2 'photo'/'url' Author Properties CVSS 3.1HIGH 7.2
- TI-2026-00478 Webmention <= 5.6.2 - Unauthenticated Blind Server-Side Request Forgery CVSS 3.1HIGH 7.2
- TI-2026-00480 Webmention <= 5.6.2 - Authenticated (Subscriber+) Server-Side Request Forgery CVSS 3.1MEDIUM 6.4
Sources
- CVE-2026-111109 · CVE Program
- CVE-2026-111109 · NVD
- FIRST EPSS
- GHSA-98q7-93hh-5593 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences