CVE-2026-3617WordPress的Paypal Shortcode插件在0.3及之前的所有版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件对用户提供的简码属性输入缺乏足够的清理和输出转义。具体而言,`swer_paypal_shortcode()`函数在处理`amount`和`name`属性时,未使用`esc_attr()`等转义函数,直接将其拼接到HTML input元素的value属性中。具有贡献者及以上权限的攻击者可利用此漏洞在页面中注入恶意脚本,当用户访问受感染页面时触发执行,从而窃取敏感信息或进行进一步的攻击。
该漏洞的核心技术问题在于WordPress Paypal Shortcode插件中`swer_paypal_shortcode()`函数对用户输入的处理存在缺陷。在第89行,代码使用`extract()`和`shortcode_atts()`提取短代码属性,但这仅用于设置默认值,并未进行安全转义。随后,在第105至106行,代码直接将变量`$name`和`$amount`的值拼接进HTML的`<input>`标签的`value`属性中。由于未调用WordPress安全函数如`esc_attr()`对输出进行HTML实体编码,攻击者可以在这些属性中注入JavaScript代码(例如`"><script>alert(1)</script>`)。当具有“贡献者”或更高权限的攻击者在文章或页面中插入包含恶意载荷的Paypal简码时,该载荷会被存储在数据库中。一旦管理员或普通用户浏览该页面,嵌入的脚本将在浏览器上下文中执行,从而实现存储型XSS攻击。这种攻击方式常用于窃取Cookie、会话劫持或重定向用户至钓鱼网站。