Intel Wi-Fi驱动误差剖析
宣布时间 2021-04-27Intel Wi-Fi芯片普遍应用于小我私家条记本电脑产品,如ThinkPad、Dell条记本等。2020年,ZDI组织披露了Intel无线网卡Windows驱动程序中保存CVE-2020-0557 和 CVE-2020-0558误差。其中,CVE-2020-0557的CVSS v3.0评分为 8.1 分,CVE-2020-0558的CVSS v3.0评分为 8.2 分。通过这两个误差,攻击者可以在受害者电脑中远程执行恣意代码。
| 误差编号 | 影响的无线网卡 | 影响驱动 |
| CVE-2020-0557 | AC 7265 Rev D、AC 3168、AC 8265和AC8260 | Intel PROSet/Wireless WiFi Software 21.70之前版本 |
| CVE-2020-0558 | AC8265 | Intel PROSet/Wireless WiFi Software 21.70之前版本 |
CVE-2020-0558误差剖析
1、误差原理
当AP热门处置惩罚AssocReq时,会挪用prvhPanClientSaveAssocResp函数生涯AssocReq帧中SSID的值,在处置惩罚SSID的历程中,会挪用parse_ie函数从数据帧中取出ssid的TLV结构,并挪用memcpy_s函数将ssid的内容复制到目的缓冲区。在挪用memcpy_s函数的时间,过失地使用ssid的length作为数据复制长度,当ssid的长度大于目的缓冲区的长度时,会导致缓冲区溢出。函数挪用图如下所示:

2、问题代码
挪用parse_ie函数从数据帧中取出ssid的TLV结构,并挪用memcpy_s函数将ssid的内容复制到目的缓冲区。在挪用memcpy_s函数的时间,过失地使用ssid的length作为数据复制长度,当ssid的长度大于目的缓冲区的长度时,会导致缓冲区溢出。在下图中,攻击者可以控制*(v8+1)的值,可以拷贝超长的数据复制到目的地址中,从而导致缓冲区溢出。如下图所示:

3、误差修复
新版本的代码中使用osalMemoryCopy函数替换了原来的memcpy_s函数,另外把SSID拷贝的最大长度强制设为32字节,这样就阻止了缓存区溢出的问题。如下图所示:

CVE-2020-0557误差剖析
1、误差原理
当AP热门处置惩罚AssocReq时,会挪用prvhPanClientSaveAssocResp函数处置惩罚AssocReq帧中的数据,其中在函数中会挪用prvGoVifClientAssocStoreSupportedChannels函数来处置惩罚及生涯请求端通道信息,这其中prvGoVifClientAssocStoreSupportedChannels函数会循环挪用utilRegulatoryClassToChannelList来处置惩罚RegulatoryClass(管制要求)信息。由于在循环处置惩罚没有思量目的的偏移是否越界,当AP热门吸收到AssocReq数据帧中RegulatoryClass信息单位有多个信道数据时会导致越界写。函数挪用图如下图所示:

2、问题代码
prvGoVifClientAssocStoreSupportedChannels函数,如下图所示:


3、误差修复
在新版本 增进了对目今index的判断,若是index大于255则退出循环。如下图所示:

4、误差验证
参考链接:
【1】https://www.thezdi.com/blog/2020/5/4/analyzing-a-trio-of-remote-code-execution-bugs-in-intel-wireless-adapters
尊龙凯官网入口起劲防御实验室(ADLab)
ADLab建设于1999年,是中国清静行业最早建设的攻防手艺研究实验室之一,微软MAPP妄想焦点成员,“黑雀攻击”看法首推者。阻止现在,ADLab已通过CVE累计宣布清静误差近1100个,通过 CNVD/CNNVD累计宣布清静误差1000余个,一连坚持国际网络清静领域一流水准。实验室研究偏向涵盖操作系统与应用系统清静研究、智能终端清静研究、物联网智能装备清静研究、Web清静研究、工控系统清静研究、云清静研究。研究效果应用于产品焦点手艺研究、国家重点科技项目攻关、专业清静服务等。



京公网安备11010802024551号