一 关于Linux,网络上最著名的神话之一就是经典的“ Linux是安全的并且没有漏洞”。,但 事实是,这完全是错误的 因为公开了Linux上的关键和次要错误(不是立即发布,而是在修复之后)。
而这种情况 最近发布的新闻指出,发现了三个漏洞 在基于Marvell芯片的无线设备的驱动程序中( CVE-2019-14814,CVE-2019-14815,CVE-2019-14816),这可能导致在处理通过netlink接口发送的特殊格式的数据包时,数据会从分配的缓冲区中写出。
关于Marvell漏洞
在这种情况下 CVE-2019-14814这是mwifiex_set_uap_rates()函数中的溢出 Linux内核中的Marvell Wifi驱动程序
问题出在驱动程序/net/wireless/marvell/mwifiex/uap_cmd.c中的mwifiex_set_uap_rates()内部。
此函数中有两个memcpy调用,用于复制元素WLAN_EID_SUPP_RATES和WLAN_EID_EXT_SUPP_RATES,而无需检查长度。 dst缓冲区bss_cfg-> rates是长度为MWIFIEX_SUPPORTED_RATES的数组。
cfg80211_ap_settings中的两项来自用户空间。
而对于 CVE-2019-14815这是Linux内核中的mwifiex_set_wmm_params()函数中的溢出
问题出在驱动程序/ net / wireless / marvell / mwifiex / uap_cmd.c中的mwifiex_set_wmm_params()内部。
mwifiex_set_wmm_params()调用memcpy将WLAN_OUI_MICROSOFT元素复制到
bss_cfg-> wmm_info而不检查长度。
bss_cfg-> wmm_info是结构mwifiex_types_wmm_info类型。
与以前的方式相同的CVE-2019-14816是mwifiex_update_vs_ie()的溢出 在Linux内核中
问题出在驱动程序/net/wireless/marvell/mwifiex/ie.c中的mwifiex_update_vs_ie()内部。
mwifiex_set_mgmt_beacon_data_ies()解析信标IE,探测响应IE,
Cfg80211_ap_settings->信标关联响应IE,如果IE存在,它将为每个IE调用mwifiex_update_vs_ie()两次。
以beacon_ies为例,在第一个调用中,首先分配mwifiex_update_vs_ie()分配,然后将WLAN_OUI_MICROSOFT元素复制到ie-> ie_buffer,
ie-> ie_buffer是一个长度为IEEE_MAX_IE_SIZE(256)的数组; 在第二个调用中,mwifiex_update_vs_ie()复制先前分配的WLAN_OUI_WFA元素。 如果两项的总和大于IEEE_MAX_IE_SIZE,则将导致缓冲区溢出。
问题 可以被本地用户利用导致内核崩溃 在使用Marvell无线网卡的系统上。
的可能性 有恶意的人可以 利用这些漏洞来增加您在系统上的特权。
目前,发行版(Debian,Ubuntu,Fedora,RHEL,SUSE)中的这些问题仍未得到纠正(尽管它们已经在几天前发布)。
尽管已经提出了一个补丁,以供下一个Linux内核使用。
版本。
USB驱动程序中的漏洞
谷歌的Andrey Konovalov发现了USB驱动程序中的15个漏洞 在Linux内核中提供。
这 是模糊测试期间遇到的问题的第二部分:在2017年, 研究人员在USB堆栈中发现了另外14个漏洞。
问题 如果将经过特殊准备的USB设备连接到计算机,则可能会利用它们。
攻击e如果可以物理访问计算机,并且可能导致至少一个内核崩溃, 但不会排除其他表现形式(例如,对于2016年发现的类似漏洞,USB驱动程序snd-usbmidi设法准备了在内核级别执行代码的漏洞利用程序)。
在15个问题中,有13个 在当前的Linux内核更新中已得到修复, 但是两个漏洞(CVE-2019-15290,CVE-2019-15291)在最新版本5.2.9中仍未得到纠正。
一旦从设备接收到不良数据,未修补的漏洞可能导致在ath6kl和b2c2驱动程序中取消引用NULL指针。
其他漏洞包括:
- 访问驱动程序v4l2-dev / radio-raremono,dvb-usb,声音/核心,cpia2和p54usb中已经释放(先释放后使用)的内存区域;
- rio500控制器中的双倍可用内存(double free);
- yurex,zr364xx,siano / smsusb,sissusbvga,line6 / pcm,motu_microbookii和line6驱动程序中的NULL指针取消引用。