TensorFlow因代码执行漏洞将弃用YAML!推荐开发者改用JSON
出品|开源中国
作者|Travis
Tensorflow是一个基于Python的机器学习和人工智能项目 , 该项目由Google开发 。 近日TensorFlow已经放弃了对YAML的支持 , 以修复一个关键的 。 
文章图片
YAML或YAMLAin'tMarkupLanguage是一种人类可读的数据序列化语言 , 用于在进程和应用程序之间传递对象和存储数据 , 许多Python应用程序都使用YAML来序列化和反序列化对象 。
该漏洞的CVEID为CVE-2021-37678 。 TensorFlow和Keras(TensorFlow的一个封装项目)的维护者表示 , 该漏洞源于对YAML的不安全解析 , 漏洞会在应用程序反序列化以YAML格式提供的Keras模型时 , 使攻击者可以执行任意代码 。 反序列化漏洞通常发生在应用程序读取来自非真实来源的不良或恶意数据时 。
这个YAML反序列化漏洞的严重程度被评为9.3级 , 由安全研究员ArjunShibu报告给TensorFlow维护者 。 
文章图片
【TensorFlow因代码执行漏洞将弃用YAML!推荐开发者改用JSON】这个漏洞的来源是TensorFlow代码中臭名昭著的"yaml.unsafe_load"函数 。
安全研究员ArjunShibu表示 , "我在TensorFlow中搜索了Pickle和PyYAML的反序列化模式 , 令人惊讶的是 , 我发现了对危险函数yaml.unsafe_load的调用 。 "
众所周知 , "unsafe_load"函数可以对YAML数据进行相当自由的反序列化——它解析了所有的标签 , 即使是那些不受信任的输入上已知不安全的标签 。 该函数直接加载YAML输入而不对其进行清理 , 这使得使用恶意代码注入数据成为可能 。
序列化的使用在机器学习应用中非常普遍 。 训练模型是一个昂贵且缓慢的过程 。 因此 , 开发人员经常使用预先训练好的模型 , 这些模型已经存储在YAML或TensorFlow等ML库支持的其他格式中 。 
文章图片
在该漏洞被披露后 , TensorFlow的维护者决定完全放弃对YAML的支持 , 而使用JSON进行反序列化 。 值得注意的是 , TensorFlow并不是第一个、也不是唯一一个被发现使用YAMLunsafe_load的项目 。 该函数的使用在Python项目中是相当普遍的 。
TensorFlow的维护者表示 , CVE-2021-37678漏洞将于TensorFlow2.6.0版本的更新中进行修复 , 并且还将被回传到之前的2.5.1、2.4.3和2.3.4版本 。 自年初以来 , Google已经在TensorFlow上修复了 。
- 科学家们发现大黄蜂条纹的进化基因途径
- 中兴|使用中兴Axon40UItra之后,明白屏幕完美,却在市场上遇冷的原因
- 玩CFHD为什么那么卡呢?可能是因为你的电脑不是固态硬盘
- AMD|为什么iphone屏幕亮度会自动变暗?所有影响屏幕亮度的原因在这里
- 路由器|TP-LINK不公布路由器CPU、内存等硬件参数的原因
- 网易|你的邮箱已被冻结 因为超过两年未登录 快去看看你的邮箱
- 从哈勃望远镜眼皮子底下消失?哪个行星那么大胆?现原因已查明
- 知网再被查!官方对知网启动网络安全审查,一个月前因涉嫌实施垄断行为被立案
- 开源软件|嵌入式开发:技巧和窍门——引导加载程序跳转到应用程序代码
- |手机在阳光下看不清屏幕,原来是因为没有打开这2个开关
