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