---
id: CVE-2026-77820
title: >-
  The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site
  Scripting via 'empty' Shortcode Attribute in all versions up to, and
  including, 2.9.9.0 due to insufficient input sanitization and output escaping
summary: >-
  The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site
  Scripting via 'empty' Shortcode Attribute in all versions up to, and
  including, 2.9.9.0 due to insufficient input sanitization and output escaping.
  This makes it poss…
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
vendor: stellarwp
product: WPComplete
affected:
  - WPComplete <= 2.9.9.0
published: '2026-09-19'
updated: '2026-09-21'
sourceUpdated: '2026-09-21T13:33:33.387'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-77820'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpcomplete/tags/2.9.5.7/includes/class-wpcomplete.php#L305
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpcomplete/tags/2.9.5.7/public/class-wpcomplete-public.php#L1692
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpcomplete/tags/2.9.5.7/public/class-wpcomplete-public.php#L1802
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpcomplete/tags/2.9.5.7/public/class-wpcomplete-public.php#L1859
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/5b91bb81-b5e4-4a50-833b-e2e98ccc09ff?source=cve
    label: security@wordfence.com
tags:
  - nvd
  - cve.org
epss: 0.00331
epssPercentile: 0.23566
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-19T13:22:18.614551Z'
ingestedAt: '2026-09-19T01:55:54.982Z'
---

## Overview

The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'empty' Shortcode Attribute in all versions up to, and including, 2.9.9.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires the premium version of the software in order to exploit. Please note this only affects the pro version.

## Remediation

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