Lucene search

K
seebugRootSSV:4670
HistoryJan 15, 2009 - 12:00 a.m.

Linux Kernel 64 Bit ABI系统调用参数特权提升漏洞

2009-01-1500:00:00
Root
www.seebug.org
20

0.0004 Low

EPSS

Percentile

8.6%

BUGTRAQ ID: 33275
CVE ID:CVE-2009-0029

Linux是一款开放源代码的操作系统。
Linux内核64位ABI系统调用参数处理存在问题,本地攻击者可以利用漏洞提升特权。
部分结构的ABI定义函数调用者必须对每个参数进行符号扩展来填满寄存器宽度,在linux系统调用处理上存在问题。
如在64位上使用这个系统调用:
asmlinkage long sys_example(unsigned int index)
{
if (index > 5)
return -EINVAL;
return example_array[index];
}
这意味着调用者必须对索引index进行符号扩展到64位,在这种情况下,调用者是处于用户控件,因此我们不能依靠正确的符号扩展。
但实际上只传递用户控制提送的参数修改系统调用函数。
如上例子可通过如下方法突破:
编译器创建代码会只测试寄存器中的底32位,确保其包含的索引值<= 5,但是访问内存位置获得数组外的值可使用相同未修改(64位)寄存器作为索引寄存器,因为调用者必须确保寄存器的高32位包含零。但是因为值来自用户空间,因此不能保证其正确性,可导致地址异常,或用户空间读取或从不允许访问的内存位置中写入写出。

Linux kernel 2.6.28 -rc7
Linux kernel 2.6.28 -rc5
Linux kernel 2.6.28 -rc1
Linux kernel 2.6.28 -git7
Linux kernel 2.6.28
Linux kernel 2.6.27 6
Linux kernel 2.6.27 3
Linux kernel 2.6.27 .8
Linux kernel 2.6.27 .5
Linux kernel 2.6.27 .5
Linux kernel 2.6.27 -rc8-git5
Linux kernel 2.6.27 -rc8
Linux kernel 2.6.27 -rc6-git6
Linux kernel 2.6.27 -rc6
Linux kernel 2.6.27 -rc5
Linux kernel 2.6.27 -rc2
Linux kernel 2.6.27 -rc1
Linux kernel 2.6.27
Linux kernel 2.6.26 7
Linux kernel 2.6.26 4
Linux kernel 2.6.26 3
Linux kernel 2.6.26 .6
Linux kernel 2.6.26 -rc6
Linux kernel 2.6.26
Linux kernel 2.6.25 19
Linux kernel 2.6.25 .9
Linux kernel 2.6.25 .8
Linux kernel 2.6.25 .7
Linux kernel 2.6.25 .6
Linux kernel 2.6.25 .5
Linux kernel 2.6.25 .15
Linux kernel 2.6.25 .13
Linux kernel 2.6.25 .12
Linux kernel 2.6.25 .11
Linux kernel 2.6.25 .10
Linux kernel 2.6.25
Linux kernel 2.6.25
Linux kernel 2.6.24 .2
Linux kernel 2.6.24 .1
Linux kernel 2.6.24 -rc5
Linux kernel 2.6.24 -rc4
Linux kernel 2.6.24 -rc3
Linux kernel 2.6.24 -git13
Linux kernel 2.6.24
Linux kernel 2.6.23 .7
Linux kernel 2.6.23 .6
Linux kernel 2.6.23 .5
Linux kernel 2.6.23 .4
Linux kernel 2.6.23 .3
Linux kernel 2.6.23 .2
Linux kernel 2.6.23 -rc2
Linux kernel 2.6.23 -rc1
Linux kernel 2.6.23
Linux kernel 2.6.22 7
Linux kernel 2.6.22 1
Linux kernel 2.6.22 .8
Linux kernel 2.6.22 .6
Linux kernel 2.6.22 .5
Linux kernel 2.6.22 .4
Linux kernel 2.6.22 .3
Linux kernel 2.6.22 .17
Linux kernel 2.6.22 .16
Linux kernel 2.6.22 .15
Linux kernel 2.6.22 .14
Linux kernel 2.6.22 .13
Linux kernel 2.6.22 .12
Linux kernel 2.6.22 .11
Linux kernel 2.6.22
Linux kernel 2.6.22
Linux kernel 2.6.21 4
Linux kernel 2.6.21 .7
Linux kernel 2.6.21 .6
Linux kernel 2.6.21 .2
Linux kernel 2.6.21 .1
Linux kernel 2.6.21
Linux kernel 2.6.21
Linux kernel 2.6.21
Linux kernel 2.6.20 .9
Linux kernel 2.6.20 .8
Linux kernel 2.6.20 .5
Linux kernel 2.6.20 .4
Linux kernel 2.6.20 .15
Linux kernel 2.6.20 -git5
Linux kernel 2.6.20

  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.20
    Linux kernel 2.6.19 1
    Linux kernel 2.6.19 .2
    Linux kernel 2.6.19 .1
    Linux kernel 2.6.19 -rc4
    Linux kernel 2.6.19 -rc3
  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.19 -rc2
  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.19 -rc1
    Linux kernel 2.6.19
  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.18 .4
    Linux kernel 2.6.18 .3
    Linux kernel 2.6.18 .1
    Linux kernel 2.6.18
    Linux kernel 2.6.17 .8
    Linux kernel 2.6.17 .7
    Linux kernel 2.6.17 .6
    Linux kernel 2.6.17 .5
    Linux kernel 2.6.17 .3
    Linux kernel 2.6.17 .2
    Linux kernel 2.6.17 .14
    Linux kernel 2.6.17 .13
    Linux kernel 2.6.17 .12
    Linux kernel 2.6.17 .11
    Linux kernel 2.6.17 .10
    Linux kernel 2.6.17 .1
    Linux kernel 2.6.17 -rc5
    Linux kernel 2.6.17
    Linux kernel 2.6.17
    Linux kernel 2.6.17
    Linux kernel 2.6.17
    Linux kernel 2.6.17
    Linux kernel 2.6.17
    Linux kernel 2.6.16 27
    Linux kernel 2.6.16 13
    Linux kernel 2.6.16 .9
    Linux kernel 2.6.16 .7
    Linux kernel 2.6.16 .23
    Linux kernel 2.6.16 .19
    Linux kernel 2.6.16 .12
    Linux kernel 2.6.16 .11
    Linux kernel 2.6.16 .1
    Linux kernel 2.6.16 -rc1
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.16
    Linux kernel 2.6.15 .4
    Linux kernel 2.6.15 .3
    Linux kernel 2.6.15 .2
    Linux kernel 2.6.15 .1
    Linux kernel 2.6.15 -rc3
    Linux kernel 2.6.15 -rc2
    Linux kernel 2.6.15 -rc1
    Linux kernel 2.6.15
    Linux kernel 2.6.15
    Linux kernel 2.6.15
    Linux kernel 2.6.15
    Linux kernel 2.6.15
    Linux kernel 2.6.15
  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.14 .5
    Linux kernel 2.6.14 .4
    Linux kernel 2.6.14 .3
    Linux kernel 2.6.14 .2
    Linux kernel 2.6.14 .1
    Linux kernel 2.6.14 -rc4
    Linux kernel 2.6.14 -rc3
    Linux kernel 2.6.14 -rc2
    Linux kernel 2.6.14 -rc1
    Linux kernel 2.6.14
    Linux kernel 2.6.14
    Linux kernel 2.6.13 .4
    Linux kernel 2.6.13 .3
    Linux kernel 2.6.13 .2
    Linux kernel 2.6.13 .1
    Linux kernel 2.6.13 -rc7
    Linux kernel 2.6.13 -rc6
    Linux kernel 2.6.13 -rc4
    Linux kernel 2.6.13 -rc1
    Linux kernel 2.6.13
    Linux kernel 2.6.13
  • Trustix Secure Enterprise Linux 2.0
  • Trustix Secure Linux 2.2
  • Trustix Secure Linux 2.1
  • Trustix Secure Linux 2.0
    Linux kernel 2.6.12 .6
    Linux kernel 2.6.12 .5
    Linux kernel 2.6.12 .4
    Linux kernel 2.6.12 .3
    Linux kernel 2.6.12 .22
    Linux kernel 2.6.12 .2
    Linux kernel 2.6.12 .12
    Linux kernel 2.6.12 .1
    Linux kernel 2.6.12 -rc5
    Linux kernel 2.6.12 -rc4
    Linux kernel 2.6.12 -rc1
    Linux kernel 2.6.12
    Linux kernel 2.6.12
    Linux kernel 2.6.11 .8
    Linux kernel 2.6.11 .7
    Linux kernel 2.6.11 .6
    Linux kernel 2.6.11 .5
    Linux kernel 2.6.11 .4
    Linux kernel 2.6.11 .12
    Linux kernel 2.6.11 .11
    Linux kernel 2.6.11 -rc4
    Linux kernel 2.6.11 -rc3
    Linux kernel 2.6.11 -rc2
    Linux kernel 2.6.11
    Linux kernel 2.6.11
    Linux kernel 2.6.10 rc2
    Linux kernel 2.6.10
    Linux kernel 2.6.10
    Linux kernel 2.6.9
    Linux kernel 2.6.8 rc3
    Linux kernel 2.6.8 rc2
    Linux kernel 2.6.8 rc1
  • Ubuntu Ubuntu Linux 4.1 ppc
  • Ubuntu Ubuntu Linux 4.1 ia64
  • Ubuntu Ubuntu Linux 4.1 ia32
    Linux kernel 2.6.8
    Linux kernel 2.6.7 rc1
    Linux kernel 2.6.7
    Linux kernel 2.6.6 rc1
    Linux kernel 2.6.6
    Linux kernel 2.6.5
    Linux kernel 2.6.4
    Linux kernel 2.6.3
    Linux kernel 2.6.2
    Linux kernel 2.6.1 -rc2
    Linux kernel 2.6.1 -rc1
    Linux kernel 2.6.1
    Linux kernel 2.6 .10
    Linux kernel 2.6 -test9-CVS
    Linux kernel 2.6 -test9
    Linux kernel 2.6 -test8
    Linux kernel 2.6 -test7
    Linux kernel 2.6 -test6
    Linux kernel 2.6 -test5
    Linux kernel 2.6 -test4
    Linux kernel 2.6 -test3
    Linux kernel 2.6 -test2
    Linux kernel 2.6 -test11
    Linux kernel 2.6 -test10
    Linux kernel 2.6 -test1
    Linux kernel 2.6
    Linux kernel 2.6.8.1
  • S.u.S.E. Linux Personal 9.2 x86_64
  • S.u.S.E. Linux Personal 9.2
  • Ubuntu Ubuntu Linux 4.1 ppc
  • Ubuntu Ubuntu Linux 4.1 ia64
  • Ubuntu Ubuntu Linux 4.1 ia32
    Linux kernel 2.6.26.1
    Linux kernel 2.6.26-rc5-git1
    Linux kernel 2.6.25.4
    Linux kernel 2.6.25.3
    Linux kernel 2.6.25.2
    Linux kernel 2.6.25.1
    Linux kernel 2.6.24.6
    Linux kernel 2.6.24-rc2
    Linux kernel 2.6.24-rc1
    Linux kernel 2.6.23.14
    Linux kernel 2.6.23.10
    Linux kernel 2.6.23.1
    Linux kernel 2.6.23.09
    Linux kernel 2.6.22-rc7
    Linux kernel 2.6.22-rc1
    Linux kernel 2.6.21-RC6
    Linux kernel 2.6.21-RC5
    Linux kernel 2.6.21-RC4
    Linux kernel 2.6.21-RC3
    Linux kernel 2.6.21-RC3
    Linux kernel 2.6.20.3
    Linux kernel 2.6.20.2
    Linux kernel 2.6.20.13
    Linux kernel 2.6.20.11
    Linux kernel 2.6.20.1
    Linux kernel 2.6.20-rc2
    Linux kernel 2.6.20-2
    Linux kernel 2.6.18-8.1.8.el5
    Linux kernel 2.6.18-53
    Linux kernel 2.6.18
    Linux kernel 2.6.15.5
    Linux kernel 2.6.15.11
    Linux kernel 2.6.15-27.48
    Linux kernel 2.6.11.4
    目前没有解决方案提供:
    <a href=“http://www.kernel.org/” target=“_blank”>http://www.kernel.org/</a>