Linux Kernel copy_from_user_mmap_sem()函数内存访问漏洞

2008-02-22T00:00:00
ID SSV:2923
Type seebug
Reporter Root
Modified 2008-02-22T00:00:00

Description

BUGTRAQ ID: 27796 CVE(CAN) ID: CVE-2008-0010

Linux Kernel是开放源码操作系统Linux所使用的内核。

Linux Kernel的实现上存在漏洞,本地攻击者可能利用此漏洞获取内核内存的敏感信息。

Linux Kernel的fs/splice.c文件中的copy_from_user_mmap_sem()函数未经验证用户提供的指针便使用__copy_from_user_inatomic()拷贝了用户进程内存中的数据:

---8<--- fs/splice.c:1188 ---8<--- partial = __copy_from_user_inatomic(dst, src, n); ---8<--- fs/splice.c:1188 ---8<---

这可能允许本地攻击者通过特制的vmsplice()系统调用读取任意内核内存。

Linux kernel 2.6.22 - 2.6.24 厂商补丁:

Debian

Debian已经为此发布了一个安全公告(DSA-1494-2)以及相应补丁: DSA-1494-2:New linux-2.6 packages fix privilege escalation 链接:<a href=http://www.debian.org/security/2008/dsa-1494 target=_blank>http://www.debian.org/security/2008/dsa-1494</a>

补丁安装方法:

  1. 手工安装补丁包:

首先,使用下面的命令来下载补丁软件: # wget url (url是补丁下载链接地址)

然后,使用下面的命令来安装补丁:
# dpkg -i file.deb (file是相应的补丁名)

  1. 使用apt-get自动安装补丁包:

首先,使用下面的命令更新内部数据库: # apt-get update

然后,使用下面的命令安装更新软件包: # apt-get upgrade

Linux

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

<a href=http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.1.bz2 target=_blank>http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.1.bz2</a>