¡¾Ô­´´Îó²î¡¿LinuxÄÚºËMarvell WI-FIоƬÇý¶¯Îó²î£¨CVE-2019-3846/CVE-2019-10126£©

Ðû²¼Ê±¼ä 2019-06-10

Îó²î¸ÅÊö



Marvell Avastar802.11acµÍ¹¦ºÄÎÞÏßоƬϵÁÐÖ÷ÒªÓ¦ÓÃÓÚÌõ¼Ç±¾µçÄÔ¡¢ÖÇÄÜÊÖ»ú¡¢ÓÎÏ·×°±¸¡¢Â·ÓÉÆ÷ºÍÎïÁªÍø×°±¸µÈ£¬£¬£¬£¬ £¬£¬£¬ÈçSurface Pro¡¢Surface laptop¡¢Samsung Chromebook¡¢Galaxy J1¡¢Sony PlayStation 4¡¢Xbox One¡£¡£¡£¡£¡£


LinuxÄÚºËMarvell AvastarϵÁÐоƬ£¨88W8766/88W8797/88W8897/88W8997£©Çý¶¯±£´æÔ¶³ÌÒç³öÎó²îCVE-2019-3846ºÍÍâµØÒç³öÎó²îCVE-2019-10126£¬£¬£¬£¬ £¬£¬£¬¿Éµ¼Ö¾ܾøÐ§ÀÍ£¨ÏµÍ³Í߽⣩»òí§Òâ´úÂëÖ´ÐУ¬£¬£¬£¬ £¬£¬£¬ÍòÀû¹ú¼Ê¹ÙÍøADLabÒѵÚһʱ¼äÌá½»³§É̾ÙÐÐÐÞ¸´¡£¡£¡£¡£¡£


Îó²îÓ°Ïì¹æÄ£



Linux kernel 3.2~Linux kernel 5.1


Îó²îÆÊÎö



ÐÅÏ¢ÔªËØ£¨Information Element£¬£¬£¬£¬ £¬£¬£¬IE£©ÊÇIEEE 802.11ÖÎÀíÖ¡µÄ×é³É²¿·Ö¡£¡£¡£¡£¡£APºÍSTAͨ¹ýIE½»Á÷ÐŵÀ£¬£¬£¬£¬ £¬£¬£¬ËÙÂÊÒÔ¼°¼ÓÃÜËã·¨µÈÐÅÏ¢¡£¡£¡£¡£¡£³ýVendor SpecificÍ⣬£¬£¬£¬ £¬£¬£¬ÆäËûIE¾ùʹÓÃTLVÊý¾Ý½á¹¹ÌåÏÖ¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÆäÖУ¬£¬£¬£¬ £¬£¬£¬Type×ֶ㤶ÈΪ1¸ö×Ö½Ú£¬£¬£¬£¬ £¬£¬£¬³£¼ûµÄIEÀàÐÍÒÔ¼°È¡ÖµÈçÏ£º

ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


CVE-2019-3846Ô¶³Ì¶ÑÒç³öÎó²î


¸ÃÎó²îλÓÚdrivers/net/wireless/marvell/mwifiex/scan.cÖеÄmwifiex_update_bss_desc_with_ieº¯ÊýÖС£¡£¡£¡£¡£²¹¶¡´úÂëÌí¼Ó¶ÔWLAN_EID_SSIDºÍWLAN_EID_SUPP_RATESµÄ³¤¶ÈУÑé¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


Îó²î´¥·¢µÄº¯ÊýŲÓÃÁ´£º


->mwifiex_cfg80211_connect [mwifiex]
->mwifiex_cfg80211_assoc [mwifiex]
->mwifiex_bss_start [mwifiex]
->mwifiex_fill_new_bss_desc [mwifiex]

->mwifiex_update_bss_desc_with_ie [mwifiex]


¿ÉÒÔ¿´³ö£¬£¬£¬£¬ £¬£¬£¬Îó²î±¬·¢ÔÚAssociation½×¶Î£¬£¬£¬£¬ £¬£¬£¬ÎÞÐè¾­ÓÉËÄ´ÎÎÕÊÖÈÏÖ¤¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


¹¥»÷ÕßÎÞÐèÕæÊµAPÃÜÂ룬£¬£¬£¬ £¬£¬£¬Ö»Ðèʹvictim STA¶Ï¿ªÔ­ÓÐÅþÁ¬£¬£¬£¬£¬ £¬£¬£¬ÊµÑéÅþÁ¬FakeAPʱ£¬£¬£¬£¬ £¬£¬£¬¼´¿É´¥·¢¸ÃÎó²î¡£¡£¡£¡£¡£

ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


CVE-2019-10126ÍâµØ¶ÑÒç³öÎó²î


¸ÃÎó²îλÓÚdrivers/net/wireless/marvell/mwifiex/ie.cÖеÄmwifiex_uap_parse_tail_iesº¯Êý£¬£¬£¬£¬ £¬£¬£¬¸Ãº¯ÊýÓÃÓÚÆÊÎöÓû§²ãת´ïµÄbeaconÊý¾Ý²¢½«Æäת´ï¸ø¹Ì¼þ¡£¡£¡£¡£¡£ÔÚwhileÑ­»·µÄswitch default·ÖÖ§ÖУ¬£¬£¬£¬ £¬£¬£¬µ±´¦Öóͷ£WLAN_EID_SSIDºÍWLAN_EID_SUPP_RATESµÈÖ®ÍâµÄÐÅÏ¢ÔªËØIE£¬£¬£¬£¬ £¬£¬£¬Ôò»áŲÓÿ½±´º¯Êý¡£¡£¡£¡£¡£²¹¶¡ÔÚ¿½±´º¯ÊýǰÌí¼ÓÁ˶ÔTLVµÄ³¤¶ÈУÑé´úÂë¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


Óû§Ì¬Ó¦ÓóÌÐò£¨Èçwpa_suppliant,hostapd£©Í¨¹ýnetlink½Ó¿ÚÓëÄÚºËÄ £¿£¿£¿£¿£¿£¿£¿£¿é¾ÙÐÐͨѶ¡£¡£¡£¡£¡£ÔÚ³õʼ»¯Àú³ÌÖÐ×¢²áÐÂÎÅÏÂÁîºÍ»Øµ÷º¯Êý¡£¡£¡£¡£¡£


ÍòÀû¹ú¼Ê¹ÙÍø(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾


ÄÚºËÊÕµ½NL80211_CMD_START_APÐÂÎÅʱ£¬£¬£¬£¬ £¬£¬£¬º¯ÊýŲÓÃÁ´£º


->nl80211_start_ap [cfg80211]
->rdev_start_ap [cfg80211]
->mwifiex_cfg80211_start_ap  [mwifiex]
->mwifiex_set_mgmt_ies [mwifiex]

->mwifiex_uap_parse_tail_ies [mwifiex]


ÈôÊÇ½á¹¹ÌØÊâµÄbeaconÊý¾Ý°üÀ¨¶à¸öÌØÊâÀàÐ͵ÄIE£¨ÀýÈçWLAN_EID_SUPPORTED_OPERATING_CLASSES£©£¬£¬£¬£¬ £¬£¬£¬½«Ê¹µÃmwifiex_uap_parse_tail_iesÑ­»·Å²ÓÃmemcpy£¬£¬£¬£¬ £¬£¬£¬µ¼ÖÂÍâµØÒç³ö¡£¡£¡£¡£¡£


Çå¾²½¨Òé



Linux¸÷¿¯ÐаæÎó²îͨ¸æ£º


https://security-tracker.debian.org/tracker/CVE-2019-3846
https://access.redhat.com/security/cve/cve-2019-3846

https://security-tracker.debian.org/tracker/CVE-2019-10126


²¹¶¡Á´½Ó£º


https://patchwork.kernel.org/patch/10967049/
https://patchwork.kernel.org/patch/10970141/