---
id: CVE-2026-9626
title: >-
  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 th…
summary: >-
  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 th…
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
published: '2026-07-03'
updated: '2026-07-03'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-9626'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/json-api-user/tags/4.1.0/controllers/User.php#L1007
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/json-api-user/tags/4.1.0/controllers/User.php#L979
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/json-api-user/tags/4.1.0/controllers/User.php#L995
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/changeset/3576431/json-api-user/trunk/controllers/User.php
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/changeset?old_path=%2Fjson-api-user/tags/4.1.0&new_path=%2Fjson-api-user/tags/4.1.2
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/c41b0370-2881-4053-98b1-9c70251a3b63?source=cve
    label: security@wordfence.com
tags:
  - nvd
ingestedAt: '2026-07-04T04:55:39.404Z'
epss: 0.00375
epssPercentile: 0.28616
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
