快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

漏洞预警 | Linux内核出现多个漏洞

漏洞概述

Linux是一种开源电脑操作体系内核。它是一个用C说话写成,相符POSIX标准的类Unix操作体系。漏洞发生在 Linux 内核中,可造成越界走访或开释后再使用的安全问题。

漏洞影响

360代码卫士“开源项目检测计划”发现了多个Linux内核安全漏洞(CVE-2018-756六、CVE-2018-985八、CVE-2018-9865),并在第一时间将漏洞信息提交给了 Linux 内核构造,协助其进行漏洞修复。目前Linux内核构造已经对编号为CVE-2018-7566的漏洞实现了修复。

Linux内核出现多个漏洞

漏洞阐发

CVE-2018-7566 是 ALSA(Advanced Linux Sound Architecture,高级Linux声音架构)的音序器核心未能对事故池进行正确初始化所引入的一个高危竞争前提漏洞,该漏洞的CVSS评分为7.8。下面结合源代码对该漏洞进行更具体的阐发。

什么是竞争前提

由于两个或者多个进程竞争使用不能被同时走访的资源,使得这些进程有可能因为时间上推进的前后缘故起因而出现问题,这鸣做竞争前提(Race Condition)。

该漏洞的触发点位于 /sound/core/seq/seq_clientmgr.c文件的 snd_seq_write函数中。以下所示,在该函数的1021行中,当第一次写操作发生并且事故池为空时,会调用 snd_seq_pool_init函数对事故池进行初始化。

Linux内核出现多个漏洞

然则,要是攻击者通过并发地调用 ioctl()函数,恶意地对事故池的长度进行修改,那么就可能进一步的造成越界走访或者开释后再使用的安全问题。

Linux内核项目组对该漏洞进行了修复:通过引入互斥锁的机制,将 snd_seq_pool_init函数的调用维护起来,从而避免了竞争前提的发生。详细修复以下所示:

Linux内核出现多个漏洞

什么是互斥锁

在计算机科学中,要是两个或多个进程彼此之间没有直接的联系,然则由于要抢占使用某个临界区(critical section,不能被多个进程同时使用的资源,如打印机、变量)而产生限定关系,WEB黑客,那么这类关系被称之为互斥(mutex)。而互斥锁(Mutex Lock)则是用来完成这类限定关系的数据结构。

防护建议

1. 检查设备/dev/snd/seq以及/dev/loop-control,是否有低权限走访的用户

2. 及时打上漏洞补丁

3. 也可selinux或Grsecurity加固内核

*

您可能还会对下面的文章感兴趣: