Marvell USB和Wifi驱动程序中的Linux内核中发现的几个漏洞

晚礼服崩溃! 代表Linux漏洞的碎玻璃

关于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内核使用。晚礼服崩溃! 代表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指针取消引用。

成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。