BentoML(v1.3.8–1.4.2)中存在一个高危反序列化漏洞(CVSS 9.8 – CVE-2025-27520),攻击者可利用该漏洞在无需身份验证的情况下执行远程代码。请立即升级至v1.4.3。WAF的应对措施有限。
BentoML是一个广泛使用的Python框架,用于构建和运行AI驱动的在线服务,现已发现一个严重安全漏洞。该漏洞编号为CVE-2025-27520,严重性评分高达9.8,由GitHub用户c2an1发现。该漏洞可能允许未登录的攻击者完全控制运行这些AI服务的服务器。
虽然NIST的初始安全公告表明1.3.4至1.4.2版本存在漏洞,但Checkmarx Zero的研究人员发现受影响的版本数量较少,1.3.8至1.4.2版本存在漏洞。
根据Checkmarx分享的研究,攻击者可以通过向BentoML服务器发送精心设计的恶意数据来利用此漏洞,从而实现RCE(远程代码执行)。这可能导致数据窃取或服务器完全接管。
问题出在BentoML代码中名为“函数”的特定部分deserialize_value(),该函数位于名为serde.py的文件中。该函数以一种特殊格式(称为序列化数据)获取准备好的数据,并将其转换回AI服务可用的格式。
然而研究人员发现,这个过程并没有正确地检查传入的数据,因此攻击者可以潜入伪装成常规数据的恶意指令,而BentoML在运行这些数据时会在不知不觉中运行攻击者的代码。
有趣的是,根据Checkmarx的报告,此漏洞本质上是CVE-2024-2912的重复,该漏洞已在BentoML版本1.2.5中修复,但后来在BentoML版本1.3.8中删除了该修复,导致同样危险的弱点再次出现。
Checkmarx的作者Bruno Dias在该公司的博客文章中写道:“这两个CVE处理的是同一个问题:一个不安全的反序列化漏洞,可以通过向任何有效端点发送HTTP请求来利用该漏洞并触发RCE。”
攻击者可以通过在BentoML中创建pickle来利用这一点。在Python中,Pickle是一种将复杂数据结构保存到二进制文件中以便稍后轻松加载的方法。这些pickle数据可以包含计算机要执行的指令。因此,攻击者可以创建一个特殊的pickle,指示计算机执行有害命令,例如为命令与控制服务器连接打开后门。
好消息是,BentoML 1.4.3版本已发布修复程序,可防止系统处理HTTP请求。因此,您应该立即更新到最新版本,以保护您的AI服务免受黑客攻击。
如果无法升级,研究人员建议使用Web应用程序防火墙(WAF)来阻止包含问题内容类型和序列化数据的传入Web流量。然而,这可能无法消除风险。
评论已关闭。