Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Lifecycle Timeline
2DescriptionCVE.org
The LifePress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'n' parameter of the lp_update_mds AJAX action in all versions up to, and including, 2.2.2. This is due to the wp_ajax_nopriv_lp_update_mds action being registered without nonce verification or capability checks, combined with insufficient input sanitization and output escaping when the series name is rendered in the admin settings page. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
AnalysisAI
Stored XSS in LifePress WordPress plugin allows unauthenticated remote attackers to inject malicious scripts that execute in administrator contexts when viewing the plugin's settings page. The vulnerability affects all versions through 2.2.2 and stems from a publicly-accessible AJAX endpoint (lp_update_mds) that lacks both nonce verification and capability checks, combined with improper input sanitization of the 'n' parameter. The CVSS score of 7.2 reflects network-based exploitation requiring no authentication or user interaction, with changed scope enabling cross-context attacks. EPSS and KEV data not available; exploitation probability depends on attacker knowledge of the specific AJAX action endpoint.
Technical ContextAI
This vulnerability exists in the LifePress plugin (CPE: cpe:2.3:a:ashanjay:lifepress), a WordPress extension for activity tracking and metrics. The flaw is a classic Stored Cross-Site Scripting (CWE-79) vulnerability arising from three compounding security failures in the AJAX handler architecture. First, the plugin registers wp_ajax_nopriv_lp_update_mds, which processes requests from non-authenticated users without requiring WordPress nonces for CSRF protection. Second, it performs no capability checks to verify the requester has administrative privileges. Third, the 'n' parameter (series name) passed to this endpoint undergoes insufficient sanitization before being stored and later rendered in the admin settings interface without proper output escaping. WordPress AJAX actions with the nopriv_ prefix are intentionally accessible to unauthenticated users, making proper input validation and capability checks critical-both of which are absent here. The referenced source code shows the AJAX handler at class-admin-ajax.php:110 and the metrics rendering at class-metrics.php:355, confirming the data flow from unauthenticated input to privileged output context.
RemediationAI
Primary remediation requires upgrading LifePress to a patched version that addresses the missing nonce verification, capability checks, and input sanitization issues in the lp_update_mds AJAX handler-however, no specific patched version number is confirmed in available data at time of analysis. Monitor the WordPress plugin repository and Wordfence advisory for patch release announcements. Until a vendor patch is available, implement these compensating controls: (1) Deactivate and remove the LifePress plugin if the metrics functionality is non-critical to operations, eliminating the attack surface entirely with no functional trade-off if analytics are available through alternative plugins. (2) Deploy a Web Application Firewall (WAF) rule blocking POST requests to /wp-admin/admin-ajax.php containing action=lp_update_mds from unauthenticated sources, though this may break legitimate plugin functionality if the AJAX action serves any user-facing features. (3) Implement Content Security Policy headers restricting script execution to trusted sources, which mitigates XSS impact but does not prevent payload injection and may require CSP tuning to avoid breaking legitimate admin functionality. (4) Apply enhanced monitoring for unexpected database modifications to tables storing LifePress metrics data. None of these workarounds fully eliminate the vulnerability-WAF blocking is the most effective temporary control but requires testing to confirm it doesn't disrupt required plugin operations.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29406
GHSA-gr8x-5jx5-8hqx