这是 R 核心团队代表最近由网络安全公司 HiddenLayer 报告的序列化错误发表的一份简短声明。该错误已被报告为 ID 为 CVE-2024-27322 的漏洞。
R 是一种功能齐全的语言,其中包含用于与主机操作系统和互联网交互的函数。与任何此类语言一样,有很多方法可以用恶意意图编写代码。用户应确保只使用来自受信任来源的 R 代码和数据,并且运行 R 的帐户的权限受到适当限制。这些基本安全原则并不仅限于 R 语言。
能够用 R 编写恶意代码并不意味着该语言本身不安全。R 语言基础由 R 核心开发团队中一群高度信任的个人维护,其中大多数人已为该语言工作了几十年。
与任何开源项目一样,我们依靠广泛的用户群来识别源代码中的错误。我们欢迎所有错误报告,包括那些具有安全影响的报告。HiddenLayer 的错误报告就是一个这样的例子。简而言之,承诺是用于实现惰性求值的语言对象。在 R 中构造的承诺始终绑定到一个环境,但 HiddenLayer 找到了一种通过反序列化黑客文件来创建未绑定承诺的方法。此错误已在 R 4.4.0 中修复,并且已删除与之关联的任何攻击媒介。
我们拒绝承诺或序列化(两者都是该语言的核心特性)存在更广泛的安全影响这一观点。