CVE-2025-58960 Overview
CVE-2025-58960 is a stored Cross-Site Scripting (XSS) vulnerability in the IP Based Login WordPress plugin by brijeshk89. The flaw affects all plugin versions up to and including 2.4.3. It stems from improper neutralization of user-supplied input during web page generation, classified as [CWE-79]. An authenticated attacker with high privileges can inject malicious JavaScript that persists in plugin output and executes in the browser of any user who views the affected page.
Critical Impact
Stored XSS enables attackers to run arbitrary JavaScript in administrator or user sessions, potentially leading to session theft, forced actions, or secondary attacks against WordPress site visitors.
Affected Products
- IP Based Login plugin for WordPress (ip-based-login)
- All versions up to and including 2.4.3
- WordPress sites with the plugin installed and active
Discovery Timeline
- 2025-09-22 - CVE-2025-58960 published to NVD
- 2026-10-11 - Last updated in NVD database
Technical Details for CVE-2025-58960
Vulnerability Analysis
The IP Based Login plugin fails to properly sanitize and escape input before rendering it in web pages generated by the plugin. This allows an attacker with high privileges to persist crafted payloads inside stored plugin data. When the stored content is later rendered, the browser executes the injected script within the context of the WordPress site.
Exploitation requires high privileges and user interaction, which narrows the realistic attack scenarios. However, because the payload is stored and the scope is changed, injected scripts can act against users holding broader permissions than the attacker. Successful execution impacts confidentiality, integrity, and availability of the browser session.
Root Cause
The root cause is missing or inadequate output encoding and input sanitization in the plugin's page generation logic. User-controlled values that flow into HTML contexts are not escaped using WordPress APIs such as esc_html(), esc_attr(), or wp_kses(). As a result, markup and script content supplied by a privileged user are rendered verbatim.
Attack Vector
The attack vector is network-based through the WordPress administrative interface. An authenticated attacker submits a payload containing HTML or JavaScript into a plugin field that lacks sanitization. The payload is stored in the WordPress database and executes whenever a victim loads the page that renders the stored value, satisfying the user-interaction requirement.
No verified public exploit code is available. See the Patchstack XSS Vulnerability Report for additional technical context.
Detection Methods for CVE-2025-58960
Indicators of Compromise
- Unexpected <script> tags, event handler attributes, or javascript: URIs stored in plugin options or post metadata related to ip-based-login.
- Administrator sessions exhibiting unexplained outbound requests to attacker-controlled domains after visiting plugin-rendered pages.
- New or modified WordPress administrator accounts created shortly after a privileged user viewed plugin content.
Detection Strategies
- Audit the wp_options table and plugin-specific storage for entries containing HTML tags or script constructs within fields that should contain IP addresses or configuration values.
- Deploy a web application firewall (WAF) rule set that flags administrative POST requests to plugin endpoints containing script syntax.
- Review WordPress audit logs for configuration changes made by non-standard administrator accounts.
Monitoring Recommendations
- Monitor browser Content Security Policy (CSP) violation reports for inline script executions originating from /wp-admin/ pages.
- Alert on outbound DNS or HTTP requests from administrator browsers to unknown third-party hosts after accessing plugin pages.
- Track installation and version state of the ip-based-login plugin across managed WordPress sites.
How to Mitigate CVE-2025-58960
Immediate Actions Required
- Identify all WordPress installations running the IP Based Login plugin version 2.4.3 or earlier.
- Restrict administrator-level access to trusted personnel and enforce multi-factor authentication on all privileged accounts.
- Review plugin configuration data for suspicious HTML or script content and remove any unauthorized entries.
Patch Information
At the time of publication, no fixed version is listed in the referenced advisory. Review the Patchstack XSS Vulnerability Report for the latest patch status and vendor guidance.
Workarounds
- Deactivate and remove the IP Based Login plugin until a patched version is published and verified.
- Apply a WAF virtual patch that blocks script tags and event handler payloads in requests to the plugin's administrative endpoints.
- Enforce a strict Content Security Policy that disallows inline scripts in the WordPress admin interface to limit payload execution.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

