文章总结: WordPress评论插件wpDiscuz被披露存在高危SQL注入漏洞CVE-2026-22193,CVSS评分9.2。漏洞源于getAllSubscriptions函数未对用户输入进行参数化处理,未授权攻击者可利用该漏洞读取数据库内容甚至获取服务器权限。影响7.6.47以下版本,官方已发布修复补丁。建议用户立即升级插件,暂时无法升级的可关闭订阅功能或配置WAF规则,并排查日志确认是否遭受攻击。
综合评分: 92
文章分类: 漏洞预警,漏洞分析,WEB安全,应急响应
WordPress 插件再现高危漏洞:CVE-2026-22193 SQL 注入可致数据库被完全读取
原创
CVE-SEC
CVE-SEC
CVE-SEC
2026年3月15日 07:00
四川
WordPress 插件再现高危漏洞:CVE-2026-22193 SQL 注入可致数据库被完全读取
披露时间:2026-03-13 | 漏洞评级:CRITICAL(CVSS v4.0: 9.2)
事件概述
2026 年 3 月 13 日,安全研究员 Scott Moore(VulnCheck)公开披露了 WordPress 评论插件 wpDiscuz 中存在的一处高危 SQL 注入漏洞,编号 CVE-2026-22193。
漏洞位于插件核心函数 getAllSubscriptions() 中,由于该函数在构造数据库查询时未对用户传入的参数进行充分转义,攻击者无需任何身份认证,仅需向目标站点发送一条特殊构造的 HTTP 请求,即可直接读取甚至篡改后端数据库内容。
官方补丁已于漏洞披露前两日(3 月 11 日)随 7.6.47 版本发布。所有仍在运行 7.6.47 以下版本的站点,均处于暴露状态。
受影响范围
wpDiscuz 是目前使用量最大的 WordPress 第三方评论插件之一,累计下载量超过 430 万次,全球约有 8 万个站点正在使用。该漏洞影响 7.6.47 之前的全部版本,无版本下限限制。
受影响站点分布于全球各地,以美国、德国、日本为主要集中区域。对于国内使用 WordPress 建站并安装了该插件的站点运营者,同样需要立即关注。
漏洞原理
wpDiscuz 的订阅管理功能允许读者对文章评论区进行订阅,相关数据通过 WordPress 的 AJAX 接口(/wp-admin/admin-ajax.php)进行处理。在处理订阅查询时,getAllSubscriptions() 函数接收来自请求的 email、activation_key、subscription_date、imported_from 等参数,并将这些参数直接拼接进 SQL 查询语句,没有使用 WordPress 官方推荐的 $wpdb->prepare() 参数化查询方式进行预处理。
这是一个经典的 SQL 注入成因:开发者将外部可控的字符串值直接嵌入 SQL 语句,而未对其中可能破坏 SQL 语法结构的特殊字符(如单引号)进行转义。攻击者只需在参数中插入单引号,即可打破原有 SQL 语句的边界,附加任意查询逻辑。
以下是漏洞模式的简化对比:
存在漏洞的写法:
$query = "SELECT * FROM subscriptions WHERE email = '$email'";
当 $email 的值为 ' OR '1'='1 时,实际执行的 SQL 变为:
SELECT * FROM subscriptions WHERE email = '' OR '1'='1'
条件恒成立,原有访问控制被完全绕过。
安全写法(参数化查询):
$query = $wpdb->prepare(
"SELECT * FROM subscriptions WHERE email = %s",
$email
);
参数化查询将数据与指令严格分离,无论输入内容为何,均不会影响 SQL 语句的结构。
潜在危害
该漏洞的危害程度取决于攻击者的利用深度,完整攻击链如下:
第一步,通过 SQL 注入读取 WordPress 数据库中的 wp_users 表,获取所有用户(包括管理员)的用户名、电子邮件地址和密码哈希值。同时可读取 wp_options 表,获取站点密钥、API 配置等高敏感信息。
第二步,对获取到的密码哈希进行离线破解。WordPress 使用 phpass 方案(基于 bcrypt)存储密码,对于使用弱密码的站点,攻击者可在短时间内完成破解。
第三步,以管理员身份登录 WordPress 后台,通过插件或主题编辑器上传恶意代码,最终实现对服务器的远程代码执行(RCE),完全控制目标主机。
整个攻击过程无需任何账号权限,也无需用户点击或配合,可完全自动化执行,适合批量扫描利用。
历史背景
这并非 wpDiscuz 首次出现严重安全问题。梳理其公开漏洞历史,可以看到一条触目惊心的时间线:
- 2020 年,CVE-2020-24186(任意文件上传导致远程代码执行,CVSS 10.0 满分),约 8 万个站点受影响,攻击者可在不登录的情况下直接向服务器写入 WebShell;
- 2024 年,CVE-2024-9488(社交登录认证绕过,CVSS 9.8),攻击者只需知道目标用户的邮箱地址,即可以该用户身份登录,包括管理员账号;
- 2025 年,CVE-2025-13820(账户接管,CVSS 8.1),通过 Disqus 登录提供商的身份验证缺陷实现未授权登录;
- 2026 年 3 月,CVE-2026-22182(未授权邮件通知洪泛 DoS)与本次 CVE-2026-22193(SQL 注入)同批披露,两个漏洞均在 7.6.47 版本中一并修复。
自 7.x 版本以来,该插件已累计披露超过 25 个安全漏洞,涵盖 SQL 注入、任意文件上传、XSS、CSRF、身份认证绕过、IDOR 等几乎所有常见 Web 漏洞类型。这一记录在 WordPress 插件生态中极为罕见,反映出该插件在安全开发实践上存在系统性、持续性的不足。
攻击是否已在野利用
截至本文发布时,尚未有公开的在野利用(In-the-wild exploitation)报告。但需要指出以下几点:
第一,该漏洞无需认证、无需用户交互,漏洞利用门槛极低,攻击过程可完全自动化;
第二,wpDiscuz 此前的多个高危漏洞(尤其是 CVE-2020-24186)在披露后均迅速遭到大规模利用,该插件已进入众多攻击者的目标列表;
第三,从补丁发布(3 月 11 日)到漏洞公开披露(3 月 13 日)仅有约 48 小时窗口,漏洞细节已完全公开,武器化时间预计极短。
建议相关站点运营者将修复工作视为紧急事项,不应等待观望。
修复方式
官方修复
将 wpDiscuz 插件升级至 7.6.47 或更高版本。
在 WordPress 后台操作路径:插件 > 已安装的插件 > Comments – wpDiscuz > 更新
或通过 WP-CLI 执行:
wp plugin update wpdiscuz
更新完成后,清除站点所有缓存(缓存插件缓存、CDN 缓存、服务器 OPcache)。
临时缓解措施(无法立即升级时)
一,在 wpDiscuz 后台设置中临时关闭评论订阅功能,消除漏洞的直接触发入口;
二,在 WAF 或 Nginx/Apache 层面,对 /wp-admin/admin-ajax.php 的访问来源进行速率限制,或仅允许已知 IP 访问;
三,检查并收紧 WordPress 数据库账号权限,确保该账号不具备 FILE、SUPER、DROP 等高危权限,防止攻击者通过 SQL 注入进一步执行文件读写操作。
版本确认方式
可通过以下请求查看当前安装版本:
https://你的站点/wp-content/plugins/wpdiscuz/readme.txt
在返回内容中查找 Stable tag 字段,确认版本号是否低于 7.6.47。
检测是否已被攻击
如需排查站点是否已遭受针对该漏洞的攻击,建议检索 Web 服务器访问日志,重点关注以下特征:
在 POST /wp-admin/admin-ajax.php 的请求记录中,查找请求体(POST body)包含以下内容的条目:
- 包含
wpdiscuz相关 action 参数,且 email或activation_key参数值中出现单引号(')、UNION、SELECT、SLEEP(、BENCHMARK(等 SQL 注入特征字符串
若发现上述特征的请求记录,应进一步分析对应 IP 的全部访问记录,评估数据是否已被窃取,并依据实际情况启动应急响应流程。
写在最后
SQL 注入是一个已被充分记录、有完善防护方案的漏洞类型,OWASP Top 10 自发布以来始终将其列入榜单。WordPress 官方文档对参数化查询的使用有明确要求,相关 API($wpdb->prepare())也早已成熟稳定。
然而时至今日,仍有下载量数百万级的生产环境插件在核心数据库操作中遗留如此基础的安全缺陷,且同类问题在同一插件中多次重现,这不仅是代码质量问题,更折射出相当一部分开源生态参与者在安全开发文化上的缺失。
对于所有 WordPress 站点运营者,这次事件再次提示一个常被忽视的原则:插件的功能价值和用户评分,与其安全质量之间并不存在必然关联。定期审计已安装插件的版本状态,是维护站点安全的基础性工作,而非可选项。
漏洞信息
| 字段 | 内容 |
| — | — |
| CVE 编号 | CVE-2026-22193 |
| 漏洞类型 | SQL 注入(CWE-89) |
| 影响组件 | wpDiscuz < 7.6.47 |
| CVSS v4.0 | 9.2 CRITICAL |
| CVSS v3.1 | 8.1 HIGH |
| 是否需要认证 | 否 |
| 修复版本 | wpDiscuz 7.6.47 |
| 披露日期 | 2026-03-13 |
| 发现者 | Scott Moore(VulnCheck) |
参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2026-22193
- https://www.vulncheck.com/advisories/wpdiscuz-before-sql-injection-in-getallsubscriptions
- https://bitninja.com/blog/wpdiscuz-sql-injection-vulnerability-cve-2026-22193/
- https://wordpress.org/plugins/wpdiscuz/
本文基于公开披露的安全公告和漏洞数据库信息撰写,所有技术描述均来源于已公开资料,仅供安全研究与防御参考。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:CVE-SEC CVE-SEC
CVE-SEC《WordPress 插件再现高危漏洞:CVE-2026-22193 SQL 注入可致数据库被完全读取》