Skip to main content

AnyComment CVE-2026-103422

| EUVDEUVD-2026-100779 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-14 Wordfence GHSA-gwmh-9hx6-wmvr
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Send crafted email to /subscribe REST endpoint
  2. Delivery
    Store XSS payload in subscription record (unresolved user_ID)
  3. Exploit
    Administrator opens AnyComment Subscriptions page
  4. Execution
    Script executes in admin browser session
  5. Impact
    Hijack admin session or perform privileged actions

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

The AnyComment plugin must be active and exposing the public /wp-json/anycomment/v1/subscribe REST endpoint, which accepts subscriptions from unauthenticated users. The specific trigger is that the stored subscription's user_ID must NOT resolve to an existing WP_User - only then does AnyCommentSubscriptionsTable::column_default() emit the raw 'email' value into an HTML <td> without escaping. Exploitation is limited by the requirement that an administrator subsequently visit the AnyComment → Subscriptions admin page for the payload to fire; the payload does not execute against site visitors or the public comment stream, only within the authenticated admin dashboard.

Impact

This is a genuinely credible but second-tier priority. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C) signals an easy, remotely reachable, unauthenticated injection, and the 7.2 (High) score is inflated primarily by the scope change (S:C) that reflects the payload crossing from the attacker-controlled public subscribe endpoint into a privileged admin browser context. However, the real-world impact is bounded: this is a stored XSS (CWE-79) with only Low confidentiality and Low integrity impact and no availability impact, and execution is contingent on an administrator actually opening the AnyComment → Subscriptions page. No EPSS score was provided, there is no CISA KEV listing, and no POC was indicated in the input, so there is no public exploit identified at time of analysis - do not treat this as actively exploited. The one point of tension to verify: the vector states UI:N, yet execution requires an administrator to navigate to the Subscriptions admin page, which some scorers would model as UI:R; this is a Wordfence-convention UI:N for payloads that auto-fire on routine admin page load, so the 'unauthenticated, no interaction' framing is slightly optimistic. Net: patch promptly on affected sites, but this is a targeted-opportunity admin-session-compromise bug, not a mass-exploitation emergency.

Exploit ScenarioDerived

An unauthenticated attacker POSTs a subscription to the public /wp-json/anycomment/v1/subscribe endpoint with a JavaScript payload in the 'email' field, crafted so the subscription's user_ID does not resolve to an existing WP_User. The email is stored unsanitized and later rendered verbatim into a <td> on the AnyComment → Subscriptions admin page; when an administrator views that page the script executes in their authenticated session. No public exploit code was identified in the input, but the attack requires only a single crafted HTTP request.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 14, 2026

Stored cross-site scripting in the AnyComment WordPress plugin (all versions up to and including 0.3.6) allows unauthenticated attackers to submit a crafted 'email' value to the public /wp-json/anycomment/v1/subscribe REST endpoint, which is then stored and later rendered unescaped into an HTML table cell on the AnyComment Subscriptions admin screen. The payload fires only when an administrator subsequently opens AnyComment → Subscriptions, so the affected audience is limited to authenticated dashboard users rather than the public comment stream; scoped impact per the assessed vector is limited confidentiality and integrity (C:L/I:L) with a scope change (S:C). No public exploit code was identified at time of analysis, and exploitation requires the specific precondition that the stored subscription's user_ID does not resolve to an existing WP_User, which is the code path that bypasses escaping.

RemediationAI

No vendor-released patch was identified at time of analysis, so no fixed version number can be cited; administrators should monitor the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/ce925d1c-2254-49ea-9fcf-e948813b3f2c?source=cve) and the AnyComment plugin page for the first release after 0.3.6, and upgrade immediately when it appears. Until then, the most effective compensating control is to stop the tainted data from entering the database: block or rate-limit POST requests to /wp-json/anycomment/v1/subscribe at the WAF, reverse proxy, or web-server layer (or temporarily disable the plugin), with the trade-off that legitimate comment-notification subscriptions stop working. A second option is to register a WordPress filter at the REST pre-insert or sanitize stage that validates the 'email' field with is_email() and rejects or strips anything else, which preserves the subscription feature but requires custom code and testing against the plugin's request schema. Because execution only occurs when an administrator loads AnyComment → Subscriptions, restricting that page to trusted administrators and temporarily avoiding it reduces the blast radius, but it does not remove stored payloads and should be treated as a stopgap only. If the plugin cannot be disabled or filtered, treat the site as actively carrying stored XSS payloads: apply esc_html()/esc_attr() output escaping to the subscription email column via a patch or mu-plugin override, review the wp_anycomment_subscriptions table for suspicious 'email' rows, and remove existing malicious entries so they do not fire when the fixed version is installed.

Affected VersionsENISA

AnyComment 0 ≤0.3.6

Affected Packages

euvd anycomment 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

AnyComment is a WordPress comment-plugin that ships its own REST namespace under /wp-json/anycomment/v1/, including a subscription endpoint (AnyCommentRestSubscriptions) that is intentionally reachable by unauthenticated visitors so anonymous readers can subscribe to comment notifications. The vulnerability is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) instance with a split sink/source: the input side is the 'email' parameter accepted by the public subscribe route without sufficient sanitization, and the output side is AnyCommentSubscriptionsTable::column_default(), the WP_List_Table-style callback that builds the admin table's default column markup. In the normal data path the table resolves the subscription's user_ID to a WP_User object and renders identity information through WordPress escaping helpers; when user_ID does not map to an existing WP_User, the callback falls through to emitting the raw stored 'email' value verbatim inside a <td> element, so an attacker-supplied string containing script or event-handler markup is persisted and re-executed in the browser of any administrator who views the Subscriptions list. Because the malicious content is stored server-side (rather than reflected), the exploit is a persistent stored XSS, and because the sink is an admin-only page, the practical attack surface is the authenticated administrator session rather than public visitors.

Know when Anycomment 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 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated injection via a public REST endpoint (AV:N/AC:L/PR:N); payload executes in the privileged admin browser context (S:C) with limited script-level confidentiality and integrity impact and no availability loss.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The AnyComment plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'email' parameter in versions up to, and including, 0.3.6. This is due to insufficient input sanitization on the public /wp-json/anycomment/v1/subscribe REST endpoint and missing output escaping in AnyCommentSubscriptionsTable::column_default(), which returns the stored email verbatim into an HTML <td> when the subscription's user_ID does not resolve to an existing WP_User. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever an administrator accesses the AnyComment → Subscriptions admin page.

Executive ViewAI

Why It Matters

A stored cross-site scripting flaw affects the AnyComment WordPress plugin in all versions up to and including 0.3.6, allowing a crafted value submitted to the plugin's public subscribe endpoint to be stored and later executed in the browser of any administrator who opens the AnyComment Subscriptions screen. Because the payload targets privileged dashboard users rather than public visitors, a successful attack could expose administrator sessions and site configuration data, with downstream risk to the integrity of the WordPress site and any content or customer data it hosts. Leadership should treat this as a high-priority, unpatched exposure wherever the plugin is deployed, since remediation currently depends on compensating controls rather than a vendor fix.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate the AnyComment plugin if it is not business-critical; restrict the AnyComment Subscriptions admin screen and wp-admin access to trusted networks; block or filter POST requests to /wp-json/anycomment/v1/subscribe with a WAF or reverse proxy; enforce strict email-format validation and output encoding on stored subscription values; audit existing subscription records for malicious content; and monitor administrator accounts for session or configuration anomalies.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche third-party WordPress commenting plugin, limited install base
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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.

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