您所在的位置: 首页 > 网络安全 > 漏洞补丁 > BSD >

FreeBSD Ptrace/SPIgot信号验证不充分本地拒绝服务漏洞

http://netsecurity.51cto.com  2005-08-10 10:35    51CTO.COM  我要评论(0)
  • 摘要:设计错误##拒绝服务攻击##及时修补
  • 标签:漏洞

信息提供:

安全公告(或线索)提供热线:51cto.editor@gmail.com

漏洞类别:

设计错误

攻击类型:

拒绝服务攻击

发布日期:

2003-08-11

更新日期:

2003-08-18

受影响系统:

FreeBSD FreeBSD 5.1
FreeBSD FreeBSD 5.0
FreeBSD FreeBSD 4.8
FreeBSD FreeBSD 4.7
FreeBSD FreeBSD 4.6
FreeBSD FreeBSD 4.5
FreeBSD FreeBSD 4.4
FreeBSD FreeBSD 4.3
FreeBSD FreeBSD 4.2

安全系统:

漏洞报告人:

FreeBSD Security Advisory

漏洞描述:

BUGTRAQ  ID: 8387

信号是UNIX中用于处理异步事件如终端中断键(Ctrl-C)、作业控制、内存访问冲突、I/O竞争等 。每个信号分配一个正值。进程引起信号发生有多种机制引起,包括kill(2),系统调用或注册部分设备驱动。

部分引起信号发送的机制没有充分验证信号,本地攻击者可以利用这个漏洞允许内核尝试传递一个负或者超出范围的信号值。

在多数情况下,企图传递一个负或者超出范围的信号值会引起断言(assertion)失败或崩溃,引起系统崩溃。这些错误在ptrace(2)系统调用和'spigot'视频捕获设备驱动中会发生。ptrace(2)的错误在FreeBSD version 4.2-RELEASE中已经出现过。'spigot'设备驱动在FreeBSD 2.0.5中存在,不过这个设备驱动从来没有在内核默认安装过,除非在内核配置中增加'device spigot'选项。

不过在FreeBSD 5.x中,如果没有使用`INVARIANTS'内核选项对应(assertion)代码就不提供。在FreeBSD 5.0-RELEASE和5.1-RELEASE中,'INVARIANTS'默认没有启用,如果使用了这个配置,本地用户可以利用这个漏洞修改内核内存,导致权限提升。

测试方法:

解决方法:

临时解决方法:

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

* 注释内核配置文件中如下一行:

options       INVARIANTS              #Enable calls of extra sanity checking

重新编译内核。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-03:09)以及相应补丁:
FreeBSD-SA-03:09:Insufficient range checking of signal numbers
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:09.signal.asc

补丁下载:

1) 将有漏洞的系统升级到4.8-STABLE,或RELENG_4_8(4.8-RELEASE-p2),RELENG_4_7
(4.7-RELEASE-p12)或RELENG_5_1(5.1-RELEASE-p1)各自修复日期后的安全版本。

2) 为当前系统打补丁:

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

[FreeBSD 5.1-RELEASE]

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal51.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal51.patch.asc

[FreeBSD 5.0-RELEASE]

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal50.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal50.patch.asc

[FreeBSD 4.8-RELEASE, 4.8-STABLE, 4.7-STABLE dated Jan 2 20:39:13 2003 UTC
or later]

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal4s.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal4s.patch.asc

[FreeBSD 4.3-RELEASE through 4.7-RELEASE, 4.7-STABLE dated before
Jan 2 20:39:13 2003 UTC]

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal47.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:09/signal47.patch.asc

b) 应用补丁。

# cd /usr/src
# patch < /path/to/patch

c) 按照<URL: http://www.freebsd.org/handbook/kernelconfig.html >重新编译kernel并重启系统。

用户如何应对ANI漏洞
访谈:Windows平台,企业网站漏洞的攻击和防御
网站常见的攻击与防御
如何有效提升企业安全审计应用水平
如何有效防御SQL注入攻击
 
 验证码: (点击刷新验证码)   匿名发表
  • .NET程序员面试指南

  • 作者:朱毅
  • 本书着重针对.NET技术职位的应聘者,在.NET框架各个技术类别中,选取最常出现在.NET面试中的问题,进行分析和解答,同时解释和..
Copyright©2005-2008 51CTO.COM 版权所有