GamiPress 是一款广受欢迎的 WordPress 插件,用于在网站上实现游戏化和奖励系统,它存在一个严重漏洞。
这个具有高影响力的漏洞被归类为 CVE-2024-13496,通用漏洞评分系统(CVSS 3.1)评分为 7.5。它使得未经身份验证的攻击者能够注入恶意 SQL 查询,这有可能危及整个 WordPress 网站的安全。
该漏洞影响了直至 7.3.1 版本的所有 GamiPress 版本,最终在 2025 年 3 月 18 日发布的 7.3.2 版本中得以修复。
GamiPress 插件:未经身份验证的 SQL 注入漏洞
在一次外部安全评估中,安全研究员 Abrahack 在检查 GamiPress 插件 7.2.1 版本时发现了这个漏洞。
该漏洞源于插件日志检索功能中不当的输入验证,具体来说是在 gamipress_get_logs AJAX 端点中。这个端点通过 WordPress 钩子 wp_ajax_nopriv_{$action} 允许未经身份验证的访问。
这种类型的 SQL 注入漏洞非常危险,因为利用它无需进行身份验证。攻击者有可能从数据库中提取敏感信息,甚至控制整个网站。
该插件的漏洞存在于处理数据库查询中的 orderby 参数方面。
虽然代码试图使用 sanitize_text_field () 函数对输入进行清理,但漏洞却出现在执行链更下游的 CT_Query 类中,在那里 orderby 参数被不安全地纳入了 SQL 查询,这段代码最终导致构建了一个包含攻击者可控输入的 SQL 查询。
该漏洞的总结如下:
风险因素 详情
受影响产品 GamiPress WordPress 插件,版本≤ 7.2.1
影响 SQL 注入,从数据库中提取敏感信息
利用前提条件 无需身份验证;能够发送带有篡改后‘orderby’参数的 HTTP 请求
CVSS 3.1 评分 7.5(高危)
补丁实施情况
GamiPress 的开发者通过对 orderby 参数采用白名单方法来解决这个漏洞,将其限制为数据库表中预定义的有效列列表。
这种方法有效地阻止了攻击者注入恶意 SQL 命令。网络安全专家强烈敦促使用 GamiPress 插件的 WordPress 网站管理员立即更新到 7.3.2 版本或更高版本。此外,管理员还应该:
1.检查服务器日志中是否存在任何异常活动
2.部署 Web 应用防火墙以提供额外保护
3.遵循 WordPress 安装的安全最佳实践
这个漏洞提醒我们,定期进行安全审计以及及时为内容管理系统及其扩展程序打补丁对于维护网站安全完整性至关重要。
发表评论
您还未登录,请先登录。
登录