Linux是一款开放源代码操作系统。 Linux内核在处理64位文件偏移指针时存在问题,本地攻击者可以利用这个漏洞获得内核内存中的敏感信息。 Linux内核对用户空间应用程序提供文件处理API,一般来说一个文件可以被文件名识别及通过Open(2)系统调用打开返回内核文件对象的文件描述符。 文件对象的其中一个属性成为文件偏移(file offset),每次读写都从offset记录的位置开始读写。另外通过lseek(2)系统调用也可以更改及标识介质上文件映象里的当前读/写位置。 在最近的Linux内何中包含两个不同版本的文件处理API:旧的32位和新的64位(LFS)API。ISEC小组发现多处代码不正确地从64位大小文件偏移转换为32位文件偏移,可导致不安全的访问文件偏移成员变量。 ISEC发现多数/proc条目(如/proc/version)泄露未初始化内核内存页,可被攻击者利用获得敏感信息。 利用/proc/mtrr文件可读取大量内核内存信息,包括ROOT密码,OPENSSH登录密码等。详细利用方法可参看如下资料: http://isec.pl/vulnerabilities/isec-0016-procleaks.txt
Linux是一款开放源代码操作系统。 Linux内核在处理64位文件偏移指针时存在问题,本地攻击者可以利用这个漏洞获得内核内存中的敏感信息。 Linux内核对用户空间应用程序提供文件处理API,一般来说一个文件可以被文件名识别及通过Open(2)系统调用打开返回内核文件对象的文件描述符。 文件对象的其中一个属性成为文件偏移(file offset),每次读写都从offset记录的位置开始读写。另外通过lseek(2)系统调用也可以更改及标识介质上文件映象里的当前读/写位置。 在最近的Linux内何中包含两个不同版本的文件处理API:旧的32位和新的64位(LFS)API。ISEC小组发现多处代码不正确地从64位大小文件偏移转换为32位文件偏移,可导致不安全的访问文件偏移成员变量。 ISEC发现多数/proc条目(如/proc/version)泄露未初始化内核内存页,可被攻击者利用获得敏感信息。 利用/proc/mtrr文件可读取大量内核内存信息,包括ROOT密码,OPENSSH登录密码等。详细利用方法可参看如下资料: http://isec.pl/vulnerabilities/isec-0016-procleaks.txt