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