CVE-2026-2505
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-2505 is a Stored Cross-Site Scripting (XSS) vulnerability in the Categories Images plugin for WordPress, affecting versions up to and including 3.3.1. The flaw exists in the z_taxonomy_image shortcode, where attacker-controlled class attribute input is passed into a fallback image builder that concatenates HTML attributes without proper escaping. It was published on April 18, 2026, with a patch available in version 3.3.2. The vulnerability carries a CVSS v3.1 base score of 5.4 (Medium) (GitHub Advisory, Wordfence).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically in the shortcode rendering path of the z_taxonomy_image shortcode. When a category image is not found, the plugin falls back to a builder that constructs an HTML <img> tag by directly concatenating the user-supplied class attribute value without sanitization or escaping, allowing injection of arbitrary HTML/JavaScript. Exploitation requires the attacker to have at minimum Contributor-level authentication on the WordPress site and to craft a post or page containing the malicious shortcode. The injected script executes in the browsers of other users who visit the affected page (GitHub Advisory, Wordfence).

Impact

Successful exploitation allows authenticated attackers with Contributor-level access or higher to inject persistent malicious scripts into WordPress pages or posts. When other users — including administrators — visit the affected pages, the injected scripts execute in their browsers, potentially enabling session hijacking, credential theft, unauthorized administrative actions, or further site compromise. The scope is changed (affecting users beyond the vulnerable component), with low confidentiality and integrity impact and no availability impact (GitHub Advisory, Wordfence).

Exploitability

There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at this time. The EPSS score is approximately 0.029% (0.000290), placing it in the 2nd percentile for exploitation likelihood within the next 30 days. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is constrained by the requirement for authenticated Contributor-level access, reducing the attack surface compared to unauthenticated vulnerabilities (GitHub Advisory, Wordfence).

Exploitation steps

  1. Obtain Contributor Access: Register or compromise a WordPress account with at least Contributor-level privileges on a site running Categories Images plugin version 3.3.1 or earlier.
  2. Create or Edit a Post: Navigate to the WordPress post editor and create a new post or edit an existing one that allows shortcode rendering.
  3. Inject Malicious Shortcode: Insert the z_taxonomy_image shortcode with a crafted class attribute containing an XSS payload, for example: [z_taxonomy_image class="x\" onerror=\"alert(document.cookie)\""] or similar attribute-breaking syntax that injects an event handler into the generated <img> tag.
  4. Trigger Fallback Path: Ensure the shortcode references a taxonomy/category without an assigned image, so the plugin's fallback image builder is invoked and the unsanitized class value is concatenated into the HTML output.
  5. Publish and Wait for Victims: Publish or submit the post for review. When any user (including administrators) visits the page, the injected script executes in their browser, enabling session cookie theft, credential harvesting, or further malicious actions (GitHub Advisory, Wordfence).

Indicators of compromise

  • Logs: WordPress access logs showing POST requests to wp-admin/post.php or REST API endpoints containing z_taxonomy_image shortcode with unusual class attribute values including JavaScript event handlers (e.g., onerror, onload, onfocus) or encoded script tags.
  • File System: Unexpected modifications to post content in the WordPress database (wp_posts table) containing z_taxonomy_image shortcodes with suspicious class attribute payloads.
  • Network: Outbound requests from victim browsers to attacker-controlled domains (e.g., for cookie exfiltration) originating from pages containing the malicious shortcode.
  • Application: Presence of [z_taxonomy_image class="...<script> or event-handler-injected patterns in rendered page HTML source on the frontend (Wordfence).

Mitigation and workarounds

Update the Categories Images plugin to version 3.3.2 or later, which addresses the improper escaping in the fallback image builder (Plugin Changeset). As an interim measure, restrict Contributor-level access to trusted users only and audit existing posts and pages using the z_taxonomy_image shortcode for suspicious class attribute values. Implementing Content Security Policy (CSP) headers on the WordPress site can reduce the impact of any stored XSS payloads that may already be present (Wordfence, GitHub Advisory).

Community reactions

Wordfence, the assigning CNA, included this vulnerability in their weekly WordPress vulnerability report for April 13–19, 2026, and published a dedicated threat intelligence entry (Wordfence Weekly Report). Sucuri also referenced the vulnerability in their April 2026 vulnerability patch roundup (Sucuri Blog). Community reaction has been limited given the medium severity and authentication requirement, with no significant social media discussion beyond automated CVE tracking accounts.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2024-13784CRITICAL9.8
  • arforms-form-builder
NoYesAug 16, 2026
CVE-2026-17087HIGH7.5
  • wp-travel-engine
NoYesAug 16, 2026
CVE-2026-2497HIGH7.2
  • gallery-plugin
NoYesAug 16, 2026
CVE-2026-17608MEDIUM6.5
  • wp-compress-image-optimizer
NoYesAug 16, 2026
CVE-2026-2357MEDIUM6.4
  • bold-page-builder
NoYesAug 16, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management