CVE-2026-0773CVE-2026-0773是Upsonic产品中的一个严重安全漏洞,CVSS评分高达9.8,属于紧急级别。该漏洞存在于Upsonic的add_tool端点中,由于缺乏对用户输入数据的正确验证,导致可对不受信任的数据进行反序列化处理。攻击者无需任何认证即可利用此漏洞,通过向监听在TCP端口7541(默认端口)的add_tool端点发送精心构造的恶意数据,实现远程代码执行。成功利用后,攻击者可以服务账户的权限在受影响的系统上执行任意代码,对系统机密性、完整性和可用性造成严重影响。此漏洞由趋势科技的零日倡议组织(ZDI)发现并披露,编号为ZDI-CAN-26845。由于该漏洞无需认证即可利用,且影响严重,建议相关用户立即采取修复措施。
该漏洞的根本原因在于Upsonic使用了Python的cloudpickle库进行反序列化操作,而cloudpickle允许反序列化任意Python对象,包括可执行代码的函数和类。add_tool端点接收用户提交的tool数据后,直接使用cloudpickle.loads()进行反序列化,而没有对输入数据进行任何安全验证或签名校验。攻击者可以构造一个包含恶意函数的cloudpickle序列化的payload,该payload在被反序列化时会自动执行其中的代码。由于反序列化发生在服务进程的上下文中,恶意代码将以服务账户的权限运行。默认情况下,该服务监听在TCP端口7541上,攻击者可以通过网络直接发送恶意请求。Python的pickle模块本身设计时就明确警告不应反序列化来自不可信来源的数据,但Upsonic在实现add_tool功能时忽视了这一安全原则。