← Vulnerability feed

Vulnerability record · CVE-2020-15299 · published 9 July 2020

CVE-2020-15299: KingComposer WordPress plugin reflected XSS via AJAX preset parameter

KKing Theme · Kingcomposer

KingComposer through 2.9.4 for WordPress contains a reflected cross-site scripting flaw. An attacker can craft an install_online_preset AJAX request carrying base64-encoded JavaScript in the kc-online-preset-data POST parameter, which executes in the victim's browser. It matters because the plugin was widely deployed and the flaw lets script run in the context of a logged-in victim's session.

6.1 CVSS 3.1 Medium EPSS 47% · top 1.2% CWE-79 · Cross-site scripting
6.1CVSS 3.1 base score, v2 4.3
47%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
2References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

A reflected Cross-Site Scripting (XSS) Vulnerability in the KingComposer plugin through 2.9.4 for WordPress allows remote attackers to trick a victim into submitting an install_online_preset AJAX request containing base64-encoded JavaScript (in the kc-online-preset-data POST parameter) that is executed in the victim's browser.

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 20 September 2026. Confidence: high.

high priorityPublic exploit references and a high EPSS percentile make exploitation likely, though the medium CVSS score and required user interaction temper the severity.

What it is

KingComposer through 2.9.4 for WordPress contains a reflected cross-site scripting flaw. An attacker can craft an install_online_preset AJAX request carrying base64-encoded JavaScript in the kc-online-preset-data POST parameter, which executes in the victim's browser. It matters because the plugin was widely deployed and the flaw lets script run in the context of a logged-in victim's session.

Impact

An attacker can execute arbitrary JavaScript in the victim's browser, enabling session theft, credential capture, or actions performed as the victim. The CVSS scope change (S:C) indicates impact can extend beyond the vulnerable component.

Attack surface

Reached over the network through an AJAX request to the plugin's install_online_preset handler; no authentication is required, but the victim must be tricked into submitting the crafted request (UI:R).

Exploitation

Not listed in CISA KEV, but EPSS is high at roughly 0.47 (98.8th percentile) and both references are tagged Exploit, indicating public exploit detail exists. No ransomware usage is documented.

What to do

  • Update KingComposer to a version later than 2.9.4, or remove the plugin if it is no longer maintained.
  • If patching is not immediately possible, disable or restrict the install_online_preset AJAX action.
  • Deploy a WAF rule blocking base64-encoded script payloads in the kc-online-preset-data parameter.
  • Apply output encoding and input validation to the kc-online-preset-data parameter in any custom code.
  • Restrict administrative and editor access to trusted users to reduce the pool of potential victims.

Detection

  • Search web and proxy logs for POST requests to admin-ajax.php with action=install_online_preset and a kc-online-preset-data parameter.
  • Inspect kc-online-preset-data values for base64 strings that decode to script tags or JavaScript.
  • Alert on unexpected outbound requests or script execution originating from WordPress admin pages.
  • Monitor for plugin version 2.9.4 or earlier across managed WordPress instances.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2020-15299 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

6.1CVE-2022-0165King-theme kingcomposer open redirect vulnerabilityThe Page Builder KingComposer WordPress plugin through 2.9.6 does not validate the id parameter before redirecting the user to it via the kc_get_thum…EPSS 4.3%6.1CVE-2019-9910King-theme kingcomposer cross-site scripting vulnerabilityThe kingcomposer plugin 2.7.6 for WordPress has wp-admin/admin.php?page=kc-mapper id XSS.EPSS 1.4%5.4CVE-2021-25048King-theme kingcomposer cross-site scripting vulnerabilityThe KingComposer WordPress plugin through 2.9.6 does not have authorisation, CSRF and sanitisation/escaping when creating profile, allowing any authe…EPSS 0.64%6.1CVE-2026-42897Microsoft Exchange Server XSS enables spoofingMicrosoft Exchange Server and Exchange Server Subscription Edition fail to neutralize input during web page generation, a cross-site scripting flaw (…KEVEPSS 0.52%analysed6.1CVE-2025-48700Zimbra Classic UI stored XSS via crafted email HTMLZimbra Collaboration Suite Classic UI fails to properly sanitize HTML content in email messages, allowing crafted tag structures and attribute values…KEVEPSS 1.7%analysed6.1CVE-2025-66376Zimbra Collaboration Classic UI stored XSS via CSS @import in emailZimbra Collaboration Suite 10 before 10.0.18 and 10.1 before 10.1.13 allows stored cross-site scripting in the Classic UI through CSS @import directi…KEVEPSS 20%analysed6.1CVE-2025-68461Roundcube Webmail XSS via SVG animate tagRoundcube Webmail before 1.5.12 and 1.6 before 1.6.12 is vulnerable to cross-site scripting through the animate tag in an SVG document. Because the f…KEVEPSS 27%analysed10.0CVE-2026-22769Dell RecoverPoint for Virtual Machines hardcoded credential flawDell RecoverPoint for Virtual Machines versions prior to 6.0.3.1 HF1 contain a hardcoded credential vulnerability (CWE-798). An unauthenticated remot…KEVEPSS 13%analysed

Source: NIST National Vulnerability Database (record CVE-2020-15299), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.