IPBUF安全漏洞报告
English
CVE-2026-5341 CVSS 6.4 中危

CVE-2026-5341: WordPress NMR Strava插件存储型XSS漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-5341
漏洞类型
存储型跨站脚本
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress NMR Strava Activities 插件

相关标签

XSSStored XSSWordPressWordPress PluginCWE-79

漏洞概述

WordPress插件NMR Strava Activities在1.0.14及之前版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件`strava_nmr_connect`短代码对用户提供属性缺乏足够的输入清理和输出转义。拥有投稿人及以上权限的经过身份验证的攻击者可以利用此漏洞在页面中注入恶意Web脚本,当其他用户访问受感染的页面时,脚本将会执行,从而窃取用户凭据或进行其他恶意操作。

技术细节

该漏洞位于NMR Strava Activities插件的`strava_nmr_connect`短代码处理逻辑中。由于插件未对用户输入的属性参数进行严格的输入验证和输出编码,攻击者可以构造包含恶意JavaScript代码的短代码参数。攻击者需要具备发布文章或页面的最低权限(即Contributor权限)。当攻击者在文章内容中插入构造好的恶意短代码并发布后,该恶意脚本会被存储在数据库中。一旦管理员或其他用户访问该页面,浏览器解析时会执行注入的脚本。由于CVSS向量中S:C(Scope Changed),该漏洞的影响范围可从当前页面扩展到其他上下文,可能导致会话劫持、篡改网页内容或执行未授权操作。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取一个具有Contributor(投稿人)及以上权限的WordPress账户。
STEP 2
2. 构造Payload
攻击者构造包含恶意JavaScript代码的短代码参数,利用`strava_nmr_connect`短代码的属性过滤缺失问题。
STEP 3
3. 注入Payload
攻击者在新建的文章或页面内容中插入恶意短代码,并提交发布。
STEP 4
4. 触发漏洞
当管理员或其他用户浏览该受影响的文章页面时,服务器将未转义的恶意脚本返回给浏览器。
STEP 5
5. 执行攻击
受害者的浏览器解析并执行恶意脚本,可能导致Cookie窃取或会话劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
[strava_nmr_connect attribute_name='"><script>alert(document.cookie)</script>'] <!-- Explanation: --> <!-- 1. The attacker inserts the above shortcode into a post or page. --> <!-- 2. The attribute_value is not properly sanitized before being stored or rendered. --> <!-- 3. When the page is viewed, the script tag breaks out of the HTML attribute context and executes JavaScript. -->

影响范围

NMR Strava Activities <= 1.0.14

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用该插件。或者限制WordPress用户的权限,仅允许受信任的用户发布内容。此外,部署Web应用防火墙(WAF)可以帮助检测和拦截常见的XSS攻击向量。

参考链接