| 插件名称 | Wikiloops 曲目播放器 |
|---|---|
| 漏洞类型 | 跨站脚本攻击(XSS) |
| CVE 编号 | CVE-2026-1611 |
| 紧急程度 | 低 |
| CVE 发布日期 | 2026-02-08 |
| 来源网址 | CVE-2026-1611 |
Wikiloops 曲目播放器 (≤ 1.0.1) — 认证贡献者存储型 XSS (CVE-2026-1611)
发布日期: 6 Feb, 2026 | 严重性: 低 (补丁优先级:低) — CVSS: 6.5 | CVE: CVE-2026-1611
受影响的插件: Wikiloops Track Player (versions ≤ 1.0.1) | 利用所需权限: 贡献者(已认证)
执行摘要
Wikiloops 曲目播放器 (≤ 1.0.1) 中的存储型跨站脚本 (XSS) 漏洞允许具有贡献者级别权限的认证用户将 JavaScript 注入到短代码渲染的内容中。有效载荷是持久的,并在任何查看受影响页面的访客的浏览器中执行。利用该漏洞只需一个贡献者账户来引入有效载荷;影响取决于受害者访问受影响的页面。.
存储型 XSS 是一种强大的漏洞类别。尽管该发现的评分为低/中,但网站运营者应采取措施减少暴露,特别是在多作者网站和贡献者账户普遍的社区平台上。.
通过短代码的存储型 XSS 是什么?技术概述
WordPress 短代码接受来自帖子编辑器的属性和内容,并在前端渲染 HTML。通过短代码产生的存储型 XSS 发生在:
- 短代码输入(属性或封闭内容)可以由认证用户(此处为贡献者)提供,,
- 该输入被保存到数据库中(post_content、post_meta 或自定义表),,
- 插件在没有正确输出编码或清理的情况下渲染保存的输入,,
- JavaScript payloads (for example #is', '', $content );
// Remove on* attributes (onclick=, onerror=)
$content = preg_replace_callback(
'#(<[a-z0-9]+\b[^>]*?)\s+on[a-z]+\s*=\s*(["\']).*?\2#is',
function( $matches ) {
return $matches[1];
},
$content
);
}
return $content;
}
?>
这防止了未来从目标角色存储脚本标签。它不会追溯清理现有内容。.
-
重写短代码处理程序: Remove the plugin’s handler and register a wrapper that sanitises attributes and enclosed content before rendering.
'', 'height' => '', 'width' => '', ); $atts = shortcode_atts( $allowed_atts, $atts, 'wikiloops_track' ); foreach ( $atts as $k => $v ) { $atts[ $k ] = sanitize_text_field( $v ); } $safe_content = wp_kses_post( $content ); if ( is_callable( $orig ) ) { $output = call_user_func( $orig, $atts, $safe_content ); $output = preg_replace( '#.*?#is', '', $output ); return $output; } return ' ' . esc_html( $safe_content ) . ''; } ); } } ?>