CVE-2025-28968 Overview
CVE-2025-28968 is a reflected cross-site scripting (XSS) vulnerability in the WP Wall WordPress plugin developed by Vladimir Prelovac. The flaw affects all versions of WP Wall up to and including 1.7.3. The plugin fails to properly neutralize user-supplied input before reflecting it back in generated web pages. Attackers can craft malicious URLs that execute arbitrary JavaScript in the browser of any user who interacts with the link. The vulnerability is tracked under CWE-79 and requires user interaction to trigger. Successful exploitation can lead to session theft, credential harvesting, or unauthorized actions performed in the context of the victim.
Critical Impact
Reflected XSS in WP Wall allows unauthenticated attackers to execute arbitrary JavaScript in victim browsers, with scope change enabling attacks against higher-privileged WordPress users including administrators.
Affected Products
- WP Wall plugin for WordPress, all versions up to and including 1.7.3
- Vendor: Vladimir Prelovac
- WordPress sites with the wp-wall plugin installed and active
Discovery Timeline
- 2025-07-04 - CVE-2025-28968 published to the National Vulnerability Database
- 2026-04-23 - Last updated in NVD database
Technical Details for CVE-2025-28968
Vulnerability Analysis
The vulnerability is a reflected cross-site scripting flaw classified under CWE-79. The WP Wall plugin reflects attacker-controlled input into HTML responses without applying adequate output encoding or input sanitization. An attacker delivers a crafted URL to a victim through phishing, malicious advertising, or embedded links. When the victim loads the URL, the injected payload executes in the browser under the origin of the vulnerable WordPress site.
The attack vector is network-based and requires no authentication. The CVSS scope change indicates that injected code can affect resources beyond the vulnerable component itself, including authenticated sessions of WordPress administrators viewing the malicious link. The EPSS probability is 0.185% at the 39.95 percentile, indicating low observed exploitation activity at this time.
Root Cause
The root cause is improper neutralization of input during web page generation. The plugin accepts request parameters and embeds them directly into the rendered HTML response. It does not apply WordPress core escaping functions such as esc_html(), esc_attr(), or wp_kses() before output. This allows HTML and JavaScript syntax in user input to be interpreted by the browser as executable markup rather than literal text.
Attack Vector
Exploitation requires user interaction. An attacker constructs a URL targeting the vulnerable WP Wall endpoint with a JavaScript payload embedded in a reflected parameter. The attacker then distributes the URL through phishing emails, social media, or compromised third-party sites. When a logged-in WordPress user clicks the link, the payload executes in their browser session. The attacker can then exfiltrate authentication cookies, perform actions as the victim, deface site content, or pivot to deliver additional malware. Refer to the Patchstack advisory for additional technical context.
Detection Methods for CVE-2025-28968
Indicators of Compromise
- HTTP request logs containing URL-encoded <script> tags, javascript: URIs, or event handlers such as onerror= and onload= targeting WP Wall endpoints
- Anomalous outbound requests from administrator browser sessions to attacker-controlled domains shortly after visiting plugin URLs
- Unexpected WordPress administrator actions such as new user creation or theme modifications correlated with recent link clicks
Detection Strategies
- Inspect web server access logs for query strings containing HTML special characters such as <, >, ", and ' directed at wp-content/plugins/wp-wall/ paths
- Deploy a web application firewall ruleset that flags reflected XSS payload patterns in requests to WordPress plugin endpoints
- Correlate authenticated session activity with referrer headers pointing to untrusted external domains
Monitoring Recommendations
- Enable WordPress audit logging to capture administrator actions and session origins for incident reconstruction
- Monitor browser security telemetry for Content Security Policy violations on pages rendered by the WP Wall plugin
- Alert on access log spikes targeting wp-wall URL parameters from low-reputation IP addresses
How to Mitigate CVE-2025-28968
Immediate Actions Required
- Deactivate and remove the WP Wall plugin from all WordPress installations until a patched version is confirmed available from the vendor
- Audit recent administrator sessions and rotate credentials for any account that may have interacted with suspicious links
- Deploy a web application firewall rule to block reflected XSS payload patterns targeting the wp-wall plugin path
Patch Information
No fixed version is identified in the available CVE data. The vulnerability affects WP Wall through 1.7.3. Administrators should monitor the Patchstack advisory and the WordPress plugin repository for an official patched release.
Workarounds
- Remove the WP Wall plugin entirely if a patched version is not yet available, as the plugin appears to lack active maintenance
- Enforce a strict Content Security Policy that disallows inline scripts and limits script sources to trusted origins
- Train WordPress administrators and editors to avoid clicking unsolicited links that reference their own site's plugin endpoints
# Configuration example: Content Security Policy header in .htaccess
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"
# Disable the WP Wall plugin via WP-CLI
wp plugin deactivate wp-wall
wp plugin delete wp-wall
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


