Description
The JSON API User plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'content' parameter of the post_comment API endpoint in versions up to, and including, 4.1.0 This is due to insufficient input sanitization in the post_comment() function, which passes the attacker-controlled comment_content value directly to wp_insert_comment() without applying any HTML sanitization, and additionally allows the caller to set comment_approved=1 to self-approve the comment and bypass moderation. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Published: 2026-07-03
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The JSON API User plugin for WordPress contains a stored cross‑site scripting flaw in the post_comment API endpoint. The ‘content’ parameter is passed directly to wp_insert_comment() without sanitization, and the caller can set comment_approved=1 to self‑approve a comment. As a result, any visitor who views a page that retrieves that comment will execute the injected script in their browser, enabling malicious code execution, credential theft, or defacement.

Affected Systems

This flaw affects any WordPress site running the parorrey JSON API User plugin on or before version 4.1.0. Users with subscriber or higher role who can call the post_comment API—often enabled in installations that expose comment posting via the API—can inject payloads and trigger the XSS event.

Risk and Exploitability

The vulnerability has a CVSS score of 6.4, indicating moderate severity, and an EPSS score of <1%, signifying a very low probability of exploitation in the wild. It does not appear in CISA’s KEV catalog. Based on the description, it is inferred that the API endpoint is publicly accessible to authenticated users with subscriber-level credentials and that setting comment_approved=1 bypasses moderation. Once an approved comment is inserted, the malicious code persists until the comment is removed, making it a persistent stored XSS risk.

Generated by OpenCVE AI on August 1, 2026 at 20:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the JSON API User plugin to the latest available release if a version greater than 4.1.0 that addresses the issue exists.
  • If an upgrade is not feasible, restrict the post_comment API so that subscriber role users cannot set comment_approved=1 or enforce a moderation queue to prevent self‑approval.
  • Remove the JSON API User plugin entirely if it is not required for site functionality.

Generated by OpenCVE AI on August 1, 2026 at 20:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 03 Jul 2026 08:00:00 +0000

Type Values Removed Values Added
First Time appeared Parorrey
Parorrey json Api User
Wordpress
Wordpress wordpress
Vendors & Products Parorrey
Parorrey json Api User
Wordpress
Wordpress wordpress

Fri, 03 Jul 2026 05:30:00 +0000

Type Values Removed Values Added
Description The JSON API User plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'content' parameter of the post_comment API endpoint in versions up to, and including, 4.1.0 This is due to insufficient input sanitization in the post_comment() function, which passes the attacker-controlled comment_content value directly to wp_insert_comment() without applying any HTML sanitization, and additionally allows the caller to set comment_approved=1 to self-approve the comment and bypass moderation. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Title JSON API User <= 4.1.0 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'content' Parameter
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Parorrey Json Api User
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-06T16:35:54.457Z

Reserved: 2026-05-26T17:20:23.199Z

Link: CVE-2026-9626

cve-icon Vulnrichment

Updated: 2026-07-06T16:35:50.124Z

cve-icon NVD

Status : Deferred

Published: 2026-07-03T06:16:23.123

Modified: 2026-07-06T18:02:49.450

Link: CVE-2026-9626

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T21:00:08Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')