DPDK vhost多個安全漏洞通告

發布時間 2020-09-29

0x00 漏洞概述

數據平面開發套件DPDK是由6WIND和Intel等多家公司開發,主要基于Linux系統運行,用于快速數據包處理的函數庫與驅動集合,可以極大提高數據處理性能和吞吐量,并提高數據平面應用程序的工作效率。

2020年09月28日,DPDK開發團隊發布了DPDK vhost多個高危漏洞的安全通告。其中包括遠程代碼執行漏洞、緩沖區溢出漏洞和拒絕服務漏洞等。

 

0x01 漏洞詳情

 

image.png


此次發布的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/



 image.png