程序代码执行漏洞促使Google Tensorflow中止支持YAML

Google TensorFlow框架近日传出受重大风险程序代码执行漏洞影响安全性,为此Google宣布将不再支持YAML格式,建议开发人员改成其他格式。

TensorFlow是一个Google发展并开源出来的机器学习框架,可支持深度学习的各种算法。新发现的漏洞编号CVE-2021-37678,是8月间研究人员Arjun Shibu披露并通报。它出在TensorFlow使用的Keras开源函数库的Keras Model Handler组件,对串行化输入资料的验证不足,导致从YAML格式Keras模型反串行化(deserialization)的过程中触发权限升级,使Tensorflow和Kera在目标系统上执行任意程序代码。

本漏洞影响TensorFlow 2.3.3、2.4.2与2.5.0,风险值达9.3。Google指出,由于支持YAML格式需要大量作业,因此决定移除。Google建议开发人员以JSON取代YAML串行化,或改成H5格式。

Google已发布更新版本TensorFlow 2.6.0,也会在TensorFlow 2.5.1、2.4.3和2.3.4版标明,因为这些版本仍受影响。Keras则从0.1.0到2.6.0版皆受影响,Keras已于8月初发布2.6.0 RC3更新版软件。