反垃圾邮件WordPress插件中的SQL注入问题公开了用户数据

“垃圾邮件防护,AntiSpam,CleanTalk防火墙”反垃圾邮件WordPress插件可能会将用户敏感数据暴露给未经身份验证的攻击者。

未经身份验证的攻击者可能利用跟踪为CVE-2021-24295的WordPress插件中“基于垃圾邮件保护,AntiSpam,FireWall by CleanTalk的基于时间的盲SQL注入”来访问用户数据。

攻击者可能利用此漏洞来访问用户的电子邮件,密码,信用卡数据和其他敏感信息。

CleanTalk WordPress插件的垃圾邮件防护,反垃圾邮件,FireWall具有100,000多个活动安装,它可以过滤掉运行WordPress CMS的网站上的垃圾邮件和垃圾评论。

“ 2021年3月4日,Wordfence威胁情报团队针对Clean- Talk(安装在100,000多个站点上的WordPress插件)在垃圾邮件防护,AntiSpam,FireWall中发现的基于时间的盲SQL注入漏洞发起了负责任的披露 。该漏洞可用于从站点的数据库中提取敏感信息,包括用户电子邮件和密码哈希,而无需登录该站点。” 读取咨询通过Wordfence出版。

CVE-2021-24295漏洞是一个高严重性问题,已被评为7.5(满分10)。

该插件通过维护阻止列表并跟踪不同IP地址的行为(包括浏览器发送的用于标识自身的用户代理字符串)来保护网站免受垃圾邮件评论。

Wordfence研究人员注意到,用于将这些请求的记录插入数据库的lib / Cleantalk / ApbctWP / Firewall / SFW.php中的update_log函数未能使用准备好的SQL语句。

准备好的语句可以防止SQL注入攻击。

专家能够通过向数据库发送“猜测”数据库表内容的请求来触发问题,并指示数据库延迟响应或在猜测正确的情况下“休眠”。

“例如,一个请求可能会问数据库管理员用户的电子邮件地址的首字母是否以字母’c’开头,并指示其将响应延迟五秒钟(如果是这样的话),然后尝试猜测下一个字母按顺序”,Wordfence继续说道。“根据易受攻击的查询的确切结构,还有许多其他的SQL注入技术可以解决许多形式的传统输入清理问题。”

此外,专家指出,插件代码具有许多功能,这使得成功执行SQL注入攻击更加困难。例如,设计上的update_log函数应该仅对每个访问者IP地址执行一次。专家注意到,可以操纵插件设置的cookie,发送初始请求以获取ct_sfw_pass_key cookie,然后手动设置单独的ct_sfw_passed cookie并禁止将其重置。

“此外,易受攻击的SQL查询使用INSERT而不是SELECT。由于没有将数据插入敏感表中,因此攻击者无法通过更改数据库中的值来使用插入查询来利用站点,这也使得从数据库中检索任何敏感数据变得困难。” 。

另一个问题与尝试防止SQL注入使用“ sanitize_text_field”函数有关,并且用户代理已包含在查询中的单引号中。

研究人员创建了一种概念验证漏洞利用程序,以演示问题并从数据库中的任何位置提取数据,他们通过在用户代理请求标头中发送包含SQL命令的请求,成功地利用了该缺陷。

此漏洞已通过版本5.153.4解决,但研究人员建议将其更新为最新版本的插件5.156。

*编译:Domino

*来自:securityaffairs