香港安全咨询 XSS 在 AddFunc(CVE20262305)中

WordPress AddFunc 头部和底部代码插件中的跨站脚本(XSS)





AddFunc Head & Footer Code XSS (CVE-2026-2305) — What WordPress Site Owners Need to Know


插件名称 AddFunc 头部和底部代码
漏洞类型 跨站脚本攻击(XSS)
CVE 编号 CVE-2026-2305
紧急程度
CVE 发布日期 2026-04-10
来源网址 CVE-2026-2305

AddFunc 头部和底部代码 XSS (CVE-2026-2305):WordPress 网站所有者需要知道的事项

日期:2026年4月10日 — 严重性:低 (CVSS 6.5) — 受影响版本:≤ 2.3 — 修补于:2.4 — 所需权限:贡献者(已认证)

摘要: 在 AddFunc 头部和底部代码(版本最高至 2.3)中,经过认证的存储型跨站脚本(XSS)问题允许贡献者级别的用户通过自定义字段保存类似脚本的有效负载,这些有效负载可能会在后续被未清理地呈现。此说明从一位驻港安全专家的角度提供了风险、检测、清理和缓解步骤的务实、面向实践的分析。.

执行摘要 — 发生了什么以及为什么重要

  • 该插件允许用户提供的内容从帖子自定义字段中包含在输出中,而没有足够的过滤或转义。.
  • 具有贡献者权限的经过身份验证的用户(能够创建或编辑帖子并添加自定义字段)可以保存包含脚本标签或事件处理程序的内容。.
  • 如果该内容在前端或管理界面中未经过适当转义而被渲染,存储的脚本将在查看者的浏览器中执行。.
  • 影响取决于渲染上下文:
    • 前端执行可能影响访问者(恶意重定向、表单欺骗、加密矿工注入、内容操控)。.
    • 在管理页面中的执行可以针对更高权限的用户,导致账户接管、设置更改、插件/主题修改或后门。.
  • 该插件在版本 2.4 中进行了修补。更新到 2.4 及以上版本是正确的主要补救措施。.

为什么贡献者可能是危险的 — 现实世界威胁模型

网站所有者通常认为贡献者风险较低,因为他们无法发布。这在发布工作流程中是正确的,但贡献者通常可以创建帖子、编辑草稿并添加自定义字段(网站配置允许的情况下)。自定义字段中的存储型 XSS 是危险的,因为有效负载是持久的,并且每次未经过滤渲染时都会执行。.

关键点:

  • 持久性:恶意内容存储在数据库中,可以在后续触发。.
  • 权限提升:如果管理员用户在仪表板中查看感染内容,攻击者可以利用管理员的认证会话进行转移。.
  • 真实攻击向量包括结合 CSRF 和 XSS 执行特权操作(创建管理员账户、更改选项、安装代码)。.

典型的利用流程(高层次,非可操作性)

  1. 攻击者注册或入侵一个贡献者账户。.
  2. 攻击者保存一篇帖子或草稿,并将恶意内容注入自定义字段(例如,, 或属性有效负载,例如 onerror=…)。.
  3. 内容存储在 postmeta 中。.
  4. 当帖子在输出未清理字段的上下文中呈现时(前端、管理员预览、元框),浏览器执行 JavaScript。.
  5. 如果管理员查看受影响的管理员屏幕,脚本可能会利用管理员的会话执行特权操作(提取 cookies、创建管理员用户、修改文件、安装后门)。.

一些公告列出“需要用户交互”——实际上,交互可以简单到打开帖子编辑器或一个精心制作的预览链接。.

保护您网站的实际步骤——立即行动(检查清单)

  1. 更新插件 — 如果您使用 AddFunc 头部和底部代码,请立即更新到 2.4 或更高版本。这是官方修复。.
  2. 如果您无法立即更新
    • 暂时移除或禁用该插件。.
    • 在修补之前,限制贡献者添加或编辑自定义字段。.
    • 如果您有该能力,请在 WAF 级别应用虚拟补丁(请参见下面的 WAF 指导)。.
  3. 扫描自定义字段中的恶意内容

    使用 WP-CLI 或直接数据库查询(备份后)查找包含的元值

  4. Audit user accounts — Verify Contributors and Editors; remove stale or suspicious accounts. Enforce strong passwords and 2FA for privileged roles.
  5. Check for signs of compromise — unknown admin accounts, unexpected plugin/theme files, modified files, scheduled tasks, or outbound connections.
  6. Rotate credentials if compromise is suspected — reset admin passwords, revoke API keys, and invalidate sessions.
  7. Backup before cleanup — take a full files+DB backup before making remediation changes to preserve evidence and allow rollback.
  8. Harden custom fields — require sanitization on save and escaping on output (see developer guidance below).

How to find malicious stored XSS entries safely

Always work from a full backup and start with read-only queries to identify suspicious entries, then review them manually.

# Find postmeta that contains