CVE-2024-30428 Overview
CVE-2024-30428 is a reflected cross-site scripting (XSS) vulnerability in the Contest Gallery WordPress plugin developed by Wasiliy Strecker. The flaw affects all versions of the plugin up to and including 24.0.3. The vulnerability is classified under CWE-79, Improper Neutralization of Input During Web Page Generation. Attackers can craft malicious URLs that execute arbitrary JavaScript in a victim's browser when clicked. Successful exploitation requires user interaction and can lead to session theft, credential harvesting, or actions performed on behalf of authenticated users.
Critical Impact
Reflected XSS enables attackers to execute arbitrary JavaScript in the context of a targeted WordPress user, potentially compromising administrator sessions and site integrity.
Affected Products
- Contest Gallery WordPress plugin versions up to and including 24.0.3
- WordPress installations running the contest-gallery plugin
- Sites where unauthenticated visitors can reach plugin-exposed endpoints
Discovery Timeline
- 2024-03-29 - CVE-2024-30428 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-30428
Vulnerability Analysis
The Contest Gallery plugin fails to properly neutralize user-supplied input before reflecting it into HTML output. This oversight allows attackers to inject arbitrary HTML and JavaScript that executes in the browser of any user who visits a crafted URL. The scope is marked as changed, meaning injected script can affect resources beyond the vulnerable component, including other parts of the WordPress site.
The vulnerability affects all plugin versions through 24.0.3. Exploitation requires user interaction, typically achieved by luring a target to click a malicious link. When rendered, the browser executes the attacker-controlled payload within the trusted origin of the WordPress site.
Root Cause
The root cause is missing input sanitization and output encoding in one or more request handlers within the plugin. User input from query parameters is written into the response HTML without HTML entity encoding or context-aware escaping. This violates fundamental output encoding requirements described in CWE-79.
Attack Vector
An unauthenticated attacker constructs a URL containing a JavaScript payload in a vulnerable parameter. The attacker delivers the URL through phishing, social media, or malicious redirects. When a victim clicks the link, the plugin reflects the payload into the rendered page, and the browser executes it under the site's origin. Because the vulnerability affects unauthenticated request paths, administrators visiting the crafted URL while logged in are the highest-value targets.
No verified public exploit code is available for this CVE. Technical details are described in the Patchstack XSS Vulnerability Report.
Detection Methods for CVE-2024-30428
Indicators of Compromise
- Web server access logs containing requests to Contest Gallery endpoints with <script>, javascript:, onerror=, or onload= payloads in query strings
- URL-encoded XSS patterns such as %3Cscript%3E or %3Cimg%20src%3D in referer headers or GET parameters targeting the plugin
- Outbound requests from user browsers to attacker-controlled domains shortly after visiting WordPress pages hosting the plugin
Detection Strategies
- Deploy a web application firewall rule to inspect requests to Contest Gallery URLs for reflected XSS payload signatures
- Correlate WordPress access logs with browser telemetry to identify sessions where administrator accounts loaded pages containing injected script tags
- Enable Content Security Policy reporting to capture script execution violations that indicate reflected XSS attempts
Monitoring Recommendations
- Alert on HTTP requests to /wp-content/plugins/contest-gallery/ paths containing HTML metacharacters in parameters
- Monitor for anomalous session token creation or privilege changes following administrator clicks on external referrers
- Track user-agent and IP anomalies on plugin endpoints to identify probing activity
How to Mitigate CVE-2024-30428
Immediate Actions Required
- Update the Contest Gallery plugin to the latest patched version available from the WordPress plugin repository
- Audit administrator accounts and reset sessions if suspicious link-click activity is identified in logs
- Deploy a Content Security Policy that restricts inline script execution to reduce the impact of reflected XSS
Patch Information
A patched release is referenced by Patchstack. Review vendor guidance at the Patchstack Vulnerability Details page and apply the vendor-supplied update to any version at or below 24.0.3. Verify the plugin version in the WordPress admin console after upgrade.
Workarounds
- Disable the Contest Gallery plugin until the site can be patched
- Restrict access to WordPress admin URLs using IP allowlisting to limit exposure of privileged accounts
- Deploy a WAF rule that blocks HTML tags and JavaScript event handlers in query parameters targeting the plugin
# Configuration example: WAF rule pattern to block common reflected XSS payloads
# Example ModSecurity-style rule (adapt to your WAF syntax)
SecRule ARGS "@rx (?i)(<script|javascript:|onerror=|onload=|<img[^>]+src=)" \
"id:1002430428,phase:2,deny,status:403,\
msg:'Reflected XSS attempt targeting Contest Gallery (CVE-2024-30428)'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

