WordPress <= 6.9.1 - Cross-Site Scripting via Client-Side Template Override in Admin Area

4.4
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CVSS 4.4 (Medium)
Publicly Published March 10, 2026
Last Updated March 11, 2026
Researcher Asaf Mozes

Description

WordPress core is vulnerable to Cross-Site Scripting via client-side template overriding in the admin area in all versions up to and including 6.9.1. The `wp.template()` JavaScript function uses `document.getElementById()` to locate templates, which matches any HTML element by ID regardless of element type. WordPress admin templates are intended to be `<script type="text/html" id="tmpl-*">` elements, but `getElementById` also matches `<div>`, `<img>`, and other injected elements. If an attacker can inject a non-script element with a matching `tmpl-*` ID, the template content is overridden with attacker-controlled HTML, which is then compiled by Underscore.js `_.template()` with JavaScript execution support. This is a conditional vulnerability that requires an existing HTML injection vector in the admin context.

Learn more about Cross-Site Scripting vulnerabilities and how to prevent them.

References

Share

Vulnerability Details for WordPress

Software Type Core
Patched? Yes
Remediation Update to one of the following versions, or a newer patched version: 6.8.4, 6.9.2
Affected Versions
  • 6.8 - 6.8.3
  • 6.9 - 6.9.1
Patched Versions
  • 6.8.4
  • 6.9.2

Recent vulnerabilities in WordPress

# Title CVE ID CVSS Researchers Date
1 WordPress <= 6.9.1 - Authenticated (Administrator+) Stored Cross-Site Scripting via Navigation Menu Items 4.4 sibwtf March 10, 2026
2 WordPress <= 6.9.1 - Unauthenticated Blind Server-Side Request Forgery via XML-RPC Pingback Discovery 5.8 sibwtf March 10, 2026
3 WordPress <= 6.9.1 - Authenticated (Author+) XML External Entity Injection via getID3 Library Media Upload 6.5 Youssef Achtatal March 10, 2026
4 WordPress 6.9 - 6.9.1 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Note Creation via REST API CVE-2026-3906 4.3 kaminuma March 10, 2026
5 WordPress <= 6.9.1 - Missing Authorization to Authenticated (Author+) Sensitive Information Disclosure via query-attachments AJAX Endpoint 4.3 Vitaly Simonovich March 10, 2026
6 WordPress <= 6.8.2 - Authenticated (Contributor+) Sensitive Information Exposure CVE-2025-58246 4.3 Abu Hurayra (HurayraIIT) September 22, 2025
7 WordPress <= 6.8.2 - Authenticated (Author+) Stored Cross-Site Scripting CVE-2025-58674 6.4 SavPhill (Savphill) September 22, 2025
8 WordPress Core < 6.5.5 - Authenticated (Contributor+) Stored Cross-Site Scripting via HTML API CVE-2024-6307 6.4 Alex Concha, Dennis Snell, Grzegorz Ziółkowski, Aaron Jorbin June 24, 2024
9 WordPress Core < 6.5.5 - Authenticated (Contributor+) Stored Cross-Site Scripting via Template Part Block CVE-2024-31111 6.4 Rafie Muhammad June 24, 2024
10 WordPress Core < 6.5.5 - Authenticated (Contributor+) Directory Traversal CVE-2024-32111 4.3 apple502j, Rafie Muhammad, Edouard L, David Fifield, x89, mishre June 24, 2024

Did you know Wordfence Intelligence provides free personal and commercial API access to our comprehensive WordPress vulnerability database, along with a free webhook integration to stay on top of the latest vulnerabilities added and updated in the database? Get started today!

Learn more

Want to get notified of the latest vulnerabilities that may affect your WordPress site?
Install Wordfence on your site today to get notified immediately if your site is affected by a vulnerability that has been added to our database.

Get Wordfence

The Wordfence Intelligence WordPress vulnerability database is completely free to access and query via API. Please review the documentation on how to access and consume the vulnerability data via API.

Documentation