CVE-2024-2334

Template Kit – Import <= 1.0.14 - Authenticated(Author+) Stored Cross-Site Scripting via template upload

2024-04-01 00:00
Colin Xu

Strategic Overview

Status
Patched in 1.0.15
Affected Version
<= 1.0.14
CVSS
6.4Medium
Weakness type
CWE-434 · Unrestricted Upload of File with Dangerous Type
CVE
CVE-2024-2334
View all Template Kit – Import vulnerabilities

At a glance

CVE-2024-2334 is a medium-severity Unrestricted Upload of File with Dangerous Type vulnerability in the Template Kit WordPress plugin, affecting versions <= 1.0.14. It carries a CVSS score of 6.4 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Author level or above. The issue is fixed in version 1.0.15; sites on affected versions should update now. Disclosed April 2024, reported by Colin Xu.

Vulnerability Overview

The Template Kit – Import plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the template upload functionality in all versions up to, and including, 1.0.14 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user.

CWE-434: Unrestricted Upload of File with Dangerous Type

Reaching this weakness in Template Kit <= 1.0.14 takes an account at Author level or above. An unrestricted file upload lets a caller store a file whose type or destination the application does not properly constrain.

If an uploaded file lands anywhere the server will execute, the flaw becomes remote code execution and the site should be treated as fully compromised. For Template Kit the fix is 1.0.15: builds <= 1.0.14 are affected, anything from 1.0.15 onward is not.

Remediation

Update to version 1.0.15, or a newer patched version

How does WordSec protect against this?

An attacker needs Author access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: Template Kit 1.0.15 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Scanner
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C