Atomic Edge analysis of CVE-2025-14118 (metadata-based):
This vulnerability is a reflected cross-site scripting (XSS) flaw in the Starred Review WordPress plugin, affecting all versions up to and including 1.4.2. The issue resides in the plugin’s insufficient neutralization of the PHP_SELF variable. Attackers can inject arbitrary JavaScript into pages, which executes in the victim’s browser context. The CVSS score of 6.1 indicates a medium-severity risk, primarily due to the required user interaction and the scope change to the victim’s browser session.
Atomic Edge research infers the root cause is improper sanitization and output escaping. The vulnerability description explicitly cites the PHP_SELF variable. In WordPress plugins, PHP_SELF is a PHP superglobal that contains the path of the currently executing script. The plugin likely echoes this variable directly into HTML output without proper escaping. This is a classic CWE-79 pattern where user-controllable input reaches output generation functions like echo or print. The conclusion that the variable is echoed unsafely is inferred from the CWE and description, as no source code is available for confirmation.
Exploitation requires an unauthenticated attacker to craft a malicious link containing a JavaScript payload within the PHP_SELF parameter or a related variable. The victim must click this link while authenticated to WordPress. The exact endpoint is not specified, but a common pattern is a plugin administrative page that uses PHP_SELF in form actions or for constructing URLs. A likely target is a file within the plugin’s directory, such as /wp-content/plugins/starred-review/admin/settings.php. The payload would be delivered via a GET request, with the script injected into the server’s response and executed in the victim’s browser.
Remediation requires implementing proper output escaping. The plugin must stop directly outputting the PHP_SELF variable. WordPress provides esc_url() or esc_url_raw() for URL contexts, and esc_attr() for HTML attribute contexts. The fix should validate that any user-influenced data, including server variables, is treated as untrusted and escaped before being rendered in HTML. Input sanitization is also recommended, but output escaping is the primary defense for this XSS vector.
Successful exploitation leads to arbitrary JavaScript execution within the context of the victim’s browser session on the WordPress site. This can result in session hijacking, actions performed on behalf of the user, or theft of sensitive information like cookies and nonces. The impact is limited to the capabilities of the victim user. An admin victim could enable full site compromise. The CVSS metrics confirm low confidentiality and integrity impact with no direct availability effect, but the scope change indicates the attack affects the user’s interaction with the site.







