如果您收到我的邮件并被引导到此页面,是因为您的网站看起来正在运行的 Blog Floating Button 版本(这个 WordPress 插件由 sunhaengsa / kuma-chan 开发,在您的文件中位于 /wp-content/plugins/blog-floating-button/)落在某个已知安全问题的受影响范围内。本页说明该 问题是什么、如何查看您使用的版本、如何更新,以及之后应当做什么。

该问题是 CVE-2026-15383,这是插件的点击追踪与报表功能中一个未经身份验证的存储型跨站脚本 漏洞。它影响 1.4.21 之前的每一个发布版本,并在 2026 年 7 月 31 日发布的 1.4.21 中 得到修复。如果您运行的是任何早于 1.4.21 的版本,请将 Blog Floating Button 更新到 1.4.21 或更高版本

有一点需要说清楚,因为它与我发出的其他一些通知不同:不存在更旧的安全版本。这不是一个在 插件历史上的某个时点被引入、之后又被修复的缺陷。缺失的防护存在于该插件曾经发布过的每一个 版本中,一直延续到 1.4.20,所以”我的安装太旧了,不会受影响”在这里并不是一条出路。唯一不受 影响的版本是 1.4.21 及更高版本。

本通知同样取决于您的网站是如何配置的。并不需要打开某个设置,受影响的代码才会存在。

这是一个插件缺陷,不是 WordPress 核心的缺陷。如果 Blog Floating Button 插件本身处于受 影响的版本,那么一个完全更新到最新的 WordPress 并不能保护您。

这封邮件是真实的吗?

是的。这是一位独立安全研究者出于善意、依照负责任披露原则发出的通知。我不会向您索取金钱、 密码或网站访问权限,我也没有尝试入侵您的网站、向它提交任何内容或利用任何漏洞。

我所做的只是查看您的网站向每位访问者公开提供的文件(就像您的首页是公开的一样),并记录该插件 公开的版本号。我特意没有向该插件的追踪功能发送任何内容,这次检查的任何环节都不会触及您的 数据、您的后台或您网站的任何私有部分(详见下方 我做了什么、没做什么)。

如果您想核实我的身份,请查看本页底部的联系方式以及关于页面。

为什么这很重要

Blog Floating Button 会在您的文章和页面上添加一个浮动按钮,并自行记录点击与访问,以便您之后 在 WordPress 后台的访问分析报表中查看。这项功能的两个环节都与本问题有关。

在受影响的版本中,该插件会接受来自任何人的追踪数据,无需登录,并把访问者浏览器所报告的关于 自身的部分信息原样存入插件自己的数据库表,不做任何清理。之后,当报表页面显示这些已存储的记录 时,它会原封不动地把它们写进页面。其后果是:由匿名访问者存入的文本,在报表被显示时可能被当作 代码处理。

这段代码在哪里运行是值得说清楚的部分,而且它与公开公告的措辞给人的印象并不一致。 报表页面 位于 WordPress 后台。因此,这段代码会在打开该插件访问报表的已登录管理员的浏览器中运行, 而不是在您普通网站访问者的浏览器中运行。如果您担心浏览您网站的人正在因此受到攻击:他们没有, 我宁愿把话讲明白,也不愿给您留下比事实更可怕的印象。

这也界定了它的严重程度。这确实是一个真实的、未经身份验证的存储型漏洞,值得尽快修复,但它比我 在别处写到的账号接管和远程代码执行类问题要窄。它本身不会把管理员账号交给任何人,本身也不会让 任何人控制您的服务器。它需要有一位管理员打开某个特定页面,之后才会发生任何事情。

同一个发布版本还带来了第二项修复。 1.4.21 的更新日志还记录了它修复了报表页面的搜索与 筛选参数中的一个 SQL 注入漏洞。据我所知,那一项并没有单独发布公告或 CVE 编号,因此我不会 为它附上标识符;我提到它,是因为更新到 1.4.21 同样能解决它。同一个发布版本还修复了一个可能 泄露服务器文件路径的错误报告问题,开发者也对整个插件的输出转义与输入清理做了一次全面审查。 所有这些说明一件事:1.4.21 是一个安全发布版本,即使您觉得那个主要问题读起来并不严重,它也 值得安装。

我只讲到网站所有者采取行动所需的详细程度,不再深入。我不会公布那些足以让人复现该问题的细节, 也请您不要在自己的或他人的网站上尝试。像下文所述那样读取您的版本号,就足以让您决定该做什么。

如果我的邮件引用了这个问题,说明您网站报告的版本早于 1.4.21。我并没有测试您这个具体网站是否 可被利用;我观察到的只有版本号。

我受影响吗?

归结为一个问题:您运行的是哪个版本的 Blog Floating Button?

在 WordPress 后台(权威来源):

  1. 登录您的 WordPress 仪表盘(通常是 您的域名.com/wp-admin)。
  2. 进入插件,然后是已安装的插件
  3. 找到 Blog Floating Button:目录为 blog-floating-button 的那一项,查看其名称下方显示 的版本。

从公开清单文件(无需登录): 在浏览器中打开 您的域名.com/wp-content/plugins/blog-floating-button/readme.txt。靠近开头的 Stable tag: 一行就是您的安装所报告的版本,这也正是我读取的那个公开文件。对这个插件而言, 在它发布过的每一个版本中,这一行都与后台显示的版本完全一致。

有一种检查方式对这个插件不适用,因此请不要依赖它。 如果您习惯从页面源代码中脚本或样式表 后面附带的 ?ver= 数字来读取插件版本,在这里它会误导您。该插件不会把自身的版本号标注到这些 文件上,因此 WordPress 会用 WordPress 核心的版本号来填充。出现在该插件某个文件旁边的 6.8.57.0.1 这类数字是您的 WordPress 版本,而不是您的插件版本,把它拿去和 1.4.21 比较毫无意义。请使用后台页面或 readme.txt

然后套用以下规则,并请注意版本号是按数值而非字母顺序比较的,因此 1.4.21 比 1.4.9 更新, 即便它作为文本看起来更小:

  • 任何早于 1.4.21 的版本: 受影响。请更新。不存在某个分界线,低于它的旧版本就重新安全了。
  • 1.4.21 或更高版本: 已经修复。

如何升级

该插件是免费的、仍在发布且积极维护,因此修复就是一次普通的更新。最稳妥的做法是通过 WordPress 自身更新,并且先做备份:

  1. 备份您的网站(文件和数据库)之后再做更改。多数主机商提供一键备份,或者使用一款 WordPress 备份插件。
  2. 在 WordPress 后台,进入仪表盘然后更新,或者插件然后已安装的插件。如果列出 了 Blog Floating Button 的更新,请从这里安装。
  3. 如果您更习惯命令行,WP-CLI 的效果相同: wp plugin update blog-floating-button
  4. 如果没有出现更新,您可以直接从该插件在 WordPress.org 目录中的页面 Blog Floating Button 获取最新发布版本,并通过插件然后安装插件然后上传插件进行更新。
  5. 更新后,请用上面的步骤确认新的版本号(1.4.21 或更高),并检查您的浮动按钮是否仍然正常显示 与工作。

趁着在后台,也值得确认一下 WordPress 核心和您的其他插件是否都是最新的,因为同样的道理适用 于它们全部。

更新之后

更新到 1.4.21 或更高版本即可关闭这个问题:报表页面现在会在显示前清理每一个值,因此已存储的 追踪数据会被当作文本显示,而不是被当作代码处理。

关于可能已经发生的事情,需要谨慎表述。 匿名访问者在您更新之前存入的任何内容仍然留在该插件 的追踪表中,但只有当您的某位管理员在网站处于受影响版本期间确实打开过该插件的访问报表时,它才 可能起作用。如果没有人使用过那个页面,就没有任何东西有机会运行。更新会阻止它今后运行,但不会 撤销任何已经运行过的东西。

如果您的管理员确实会经常使用那份报表,或者您只是想做得周全一些,以下是合理且成本很低的检查:

  • 检查您的管理员账号。 在 WordPress 后台进入用户,筛选为管理员,确认列出的每个账号 都属于应当拥有该权限的人,且邮箱地址也是应有的那个。
  • 查看近期变更,包括您网站的用户、设置和内容,留意任何您不认识的东西。
  • 如果发现任何异常,重置管理员密码是合理的下一步,而重新生成 wp-config.php 中 WordPress 的 安全密钥与 salt(新值可在官方 密钥生成器一键获取) 会让所有用户登出一次。

我对您的网站上是否真的发生过什么没有任何可见性,我也没有去查看。这是一份预防性通知,不是事件 报告。

我做了什么、没做什么

为了完全说明我这封邮件背后的检查过程:我只读取了您的网站本来就向每位访问者提供的公开文件, 具体是该插件的公开 readme.txt 文件和您的首页。我没有访问您的 WordPress 后台、数据库或 网站的任何私有部分,我也从未打开过您插件的报表页面,何况没有您网站上的账号我也做不到。

特别地,我从未向该插件的追踪功能发送任何内容。没有任何东西被提交、存储、测试或利用。这一点 在本页比在大多数同类页面上更重要,因为追踪功能正是这个问题所涉及的东西,所以”我没有碰它”就是 披露与入侵之间的全部区别。

我也有意不公布那些能帮助他人利用这个问题的细节。上面的描述止步于网站所有者所需的程度,我也 不会链接任何概念验证代码。

这是一项基于版本的观察:您的网站报告的版本早于 1.4.21。处于该范围内的网站可能已经通过其他 方式得到保护,例如 Web 应用防火墙或回移的修复。本通知并不表示在我检查时您的网站是可被 利用的。

我没有网站管理员 / 我卡住了

如果维护网站的不是您本人,请将本页转发给负责的人(您的开发人员、代理机构或主机商)。他们会很快 认出上述步骤。

如果您自己维护网站并遇到困难,我很乐意免费为您指明方向。请通过下方联系方式与我联系。

联系方式

Evan Harris,安全研究员

我就此类问题主动联系,纯粹是为了帮助运营者保护自己的网站。如果您不希望再次收到联系,请告诉我, 我会遵从。

参考

官方公告与追踪

开发者 / 插件