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ºÅ