DPDK vhost多个安全缝隙公告
颁布功夫 2020-09-290x00 缝隙概述
数据平面开发套件DPDK是由6WIND和Intel等多家公司开发,重要基于Linux系统运行,用于急剧数据包处置的函数库与驱动集中,能够极大提高数据处置机能和吞吐量,并提高数据平面利用法式的工作效能。
2020年09月28日,DPDK开发团队颁布了DPDK vhost多个高危缝隙的安全公告。其中蕴含远程代码执行缝隙、缓冲区溢露马脚和回绝服务缝隙等。
0x01 缝隙详情

这次颁布的DPDK vhost安全缝隙如下:
缝隙编号 | 缝隙类型 | 严沉水平 | 评分 |
CVE-2020-14374 | 远程代码执行 | 高 | 8.8 |
CVE-2020-14375 | 缓冲区溢出 | 高 | 7.8 |
CVE-2020-14376 | 缓冲区溢出 | 高 | 7.8 |
CVE-2020-14377 | 缓冲区溢出 | 高 | 7.1 |
CVE-2020-14378 | 回绝服务 | 低 | 3.3 |
影响领域
dpdk:<18.11.10
dpdk:<19.11.5
缝隙详情
DPDK vhost代码执行缝隙(CVE-2020-14374)
该缝隙是由于copy_data函数中的天堑查抄不正确导致缓冲区溢出。攻击者能够利用缓冲区溢出在vhost_crypto利用法式中的任何地址写入肆意数据。
成功利用该缝隙的攻击者能够在vhost_crypto过程中执行远程代码,并可导致虚构机逃逸。
Bugzilla链接:https://bugs.dpdk.org/show_bug.cgi?id=272
DPDK vhost缓冲区溢露马脚(CVE-2020-14375)
该缝隙是由于DPDK vhost_crypto.c中Virtio Ring描述符及内存区域中的数据能够被虚构机和主机接见。攻击者公告批改该内存区域的内容,可造成缓冲区溢出。并且当满足缝隙CVE-2020-14374的情况时可造成代码执行。
Bugzilla链接:https://bugs.dpdk.org/show_bug.cgi?id=272
DPDK vhost缓冲区溢露马脚(CVE-2020-14376)
DPDK vhost_crypto.c在从虚构机内存复造 iv_data 数据到主机时,短缺天堑查抄内存可能导致缓冲区溢出。
攻击者通过节造cipher->para.iv_len 参数,最多能够复造4G数据到 iv_data 的缓冲区,可造成缓冲区溢出,并在特定前提下导致代码执行。
Bugzilla链接:https://bugs.dpdk.org/show_bug.cgi?id=272
DPDK vhost缓冲区溢露马脚(CVE-2020-14377)
DPDK vhost_crypto.c中不足对 cipher->para.dst_data_len 的校验。攻击者通过节造该参数,能够造成缓冲区越界读取。
该缝隙能够将大量的主机内存内容读取到虚构机内存中,并且能够与缝隙CVE-2020-14374 结合使用,可导致vhost_crypto过程数据被肆意读取。
Bugzilla链接:https://bugs.dpdk.org/show_bug.cgi?id=272
DPDK vhost回绝服务缝隙(CVE-2020-14378)
DPDK vhost_crypto.c中,move_desc函数中的整数下溢会导致很多cpu周期被长功夫运行的循环所吞噬。攻击者最多能导致move_desc陷入4,294,967,295迭代循环中。 同时凭据使用vhost_crypto的方式,这可能会影响其他虚构环境或DPDK lcore执行效能。
成功利用此缝隙的攻击者可造成回绝服务。
Bugzilla链接:https://bugs.dpdk.org/show_bug.cgi?id=272
0x02 措置建议
建议升级至DPDK最新版本。
下载链接:
https://fast.dpdk.org/rel/dpdk-19.11.5.tar.xz
http://fast.dpdk.org/rel/dpdk-18.11.10.tar.xz
0x03 参考链接
https://seclists.org/oss-sec/2020/q3/200
https://bugs.dpdk.org/show_bug.cgi?id=272
0x04 功夫线
2020-09-28 DPDK颁布安全布告
2020-09-29 VSRC颁布安全公告
0x05 附录
CVSS评分尺度官网:http://www.first.org/cvss/



京公网安备11010802024551号