CVE-2025-13512 Overview
CVE-2025-13512 is a Reflected Cross-Site Scripting (XSS) vulnerability [CWE-79] affecting the CoSign Single Signon plugin for WordPress in all versions up to and including 0.3.1. The flaw resides in the handling of the $_SERVER['PHP_SELF'] parameter, which lacks sufficient input sanitization and output escaping. Unauthenticated attackers can inject arbitrary web scripts that execute in a victim's browser when the victim is tricked into clicking a crafted link. Successful exploitation can lead to session theft, credential harvesting, and unauthorized actions performed under the victim's WordPress session.
Critical Impact
Unauthenticated attackers can execute arbitrary JavaScript in the victim's browser context by tricking users into clicking malicious links targeting WordPress sites running the CoSign Single Signon plugin.
Affected Products
- CoSign Single Signon WordPress plugin versions <= 0.3.1
- WordPress installations using the cosign-sso plugin
- Any WordPress environment where the affected plugin is active
Discovery Timeline
- 2025-12-05 - CVE-2025-13512 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-13512
Vulnerability Analysis
The vulnerability is a Reflected Cross-Site Scripting flaw in the CoSign Single Signon plugin. The plugin references the $_SERVER['PHP_SELF'] value when generating output but fails to sanitize or escape it before rendering. Attackers can manipulate the request URI so that PHP_SELF contains attacker-controlled data, which is then reflected into the page HTML.
Because the payload is reflected, no persistence is required. The attack requires user interaction, typically a victim clicking a crafted link pointing to the vulnerable endpoint. Executed scripts run under the origin of the WordPress site, allowing attackers to read cookies accessible to JavaScript, perform authenticated actions on behalf of the victim, or pivot to further attacks against administrative users.
Root Cause
The root cause is insufficient input sanitization and output escaping of the $_SERVER['PHP_SELF'] value in cosign-sso.php around line 423. WordPress developers should use esc_url() or esc_attr() when emitting server-controlled variables into HTML contexts. See the WordPress Plugin Source Code for the vulnerable code location.
Attack Vector
The attack vector is network-based and requires user interaction. An attacker crafts a URL to a page served by the vulnerable plugin, appending a payload that manipulates the PHP_SELF value. When the victim visits the link, the injected script executes in the browser. Because the scope changes, the attack can affect resources beyond the vulnerable component, including authenticated administrator sessions.
No authenticated code example is required to describe the mechanism. Full technical detail is available in the Wordfence Vulnerability Report.
Detection Methods for CVE-2025-13512
Indicators of Compromise
- HTTP requests to WordPress endpoints containing <script>, javascript:, or URL-encoded script payloads in the request URI
- Unexpected reflected content in responses from paths served by the cosign-sso plugin
- Referer headers pointing to attacker-controlled domains preceding sensitive administrative actions
Detection Strategies
- Inspect web server access logs for anomalous URI patterns targeting cosign-sso plugin paths, especially requests containing HTML or JavaScript metacharacters
- Deploy a Web Application Firewall (WAF) rule to flag reflected XSS payloads targeting the PHP_SELF variable
- Correlate WordPress admin session activity with preceding external referrers to identify potential victim clicks
Monitoring Recommendations
- Enable request logging with full URI capture on WordPress front-end web servers
- Alert on outbound requests from browser sessions to unknown domains shortly after admin console access
- Monitor installed WordPress plugin versions and flag any host still running cosign-sso version 0.3.1 or earlier
How to Mitigate CVE-2025-13512
Immediate Actions Required
- Deactivate the CoSign Single Signon plugin on any WordPress site running version 0.3.1 or earlier until a patched release is available
- Audit WordPress administrator accounts for unexpected activity or session anomalies
- Deploy WAF rules blocking reflected XSS payloads in request URIs targeting the affected plugin
Patch Information
At the time of publication, no fixed version beyond 0.3.1 is referenced in the available advisories. Review the Wordfence Vulnerability Report and the WordPress Plugin Development Version for updates. Apply vendor patches as soon as they become available.
Workarounds
- Remove or disable the cosign-sso plugin until a fix is released
- Enforce a strict Content Security Policy (CSP) that disallows inline scripts to reduce XSS impact
- Restrict WordPress admin access by IP allowlisting or reverse proxy authentication to limit exposure
# Example: Disable the vulnerable plugin via WP-CLI
wp plugin deactivate cosign-sso
wp plugin delete cosign-sso
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

