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

FreeBSD系统调用有符号整数边界检查漏洞

http://netsecurity.51cto.com  2005-08-10 10:35    51CTO.COM  我要评论(0)
  • 摘要:有效性检查错误##其它##及时修补
  • 标签:漏洞


信息提供:

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

漏洞类别:

边界检查漏洞

攻击类型:

远程攻击

发布日期:

2002-08-19

更新日期:

2002-08-22

受影响系统:

FreeBSD FreeBSD kernel
- FreeBSD 4.6.1
- FreeBSD 4.6
- FreeBSD 4.5
- FreeBSD 4.4
- FreeBSD 4.3
- FreeBSD 4.2
- FreeBSD 4.1.1
- FreeBSD 4.1
- FreeBSD 4.0

安全系统:

FreeBSD FreeBSD kernel
- FreeBSD 4.6.2-RELEASE
FreeBSD FreeBSD kernel
- FreeBSD 4.6-STABLE

漏洞报告人:

Silvio Cesare

漏洞描述:

BUGTRAQ  ID: 5493
CVE(CAN) ID: CVE-2002-0973
FreeBSD 4.6.1-RELEASE-p10以及之前版本的内核中的几个系统调用没有对参数进行正确的边界检查,可能导致内核中的敏感信息泄漏。
FreeBSD 内核提供了如下系统调用:accept(2)、getsockname(2)、getpeername(2)、vesa(4) FBIO_GETPALETTE ioctl(2)。它们错误地假定某个参数肯定为正整数,而实际上该参数是作为有符号整数处理的。因此,系统调用碰到负数参数时,会出现边界检查失败。
如果攻击者用较大的负值参数调用受影响的系统调用,就会导致kernel返回很大一部分的kernel内存。这些内存中可能含有机密信息,如部分文件缓存或终端缓冲区等。攻击者可以直接或间接地利用这些信息提升权限。例如,终端缓冲区中可能含有用户提交的口令信息。

测试方法:

解决方法:

临时解决方法:
此问题没有合适的临时解决方法,您只有通过限制不可信用户访问系统来减小风险。
厂商补丁:
FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-02:38)以及相应补丁:
FreeBSD-SA-02:38:Boundary checking errors involving signed integers
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:38.signed-error.asc
补丁下载:
1) 将受影响的FreeBSD系统升级到4.6.2-RELEASE或4.6-STABLE,或相应修正日期后发
布的RELENG_4_6 (4.6.1-RELEASE-p11)、RELENG_4_5 (4.5-RELEASE-p19)或RELENG_4_4
(4.4-RELEASE-p26)security branch。
2) 为现有系统安装补丁:
下列补丁适用于FreeBSD 4.x系统。
a) 从下列地址下载相应的补丁并用你的PGP工具核实分开的PGP签名。
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:38/signed-error.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:38/signed-error.patch.asc
b) 安装补丁:
# cd /usr/src
# patch < /path/to/patch
c) 按照下列描述重新编写kernel并重启系统:
URL:http://www.freebsd.org/handbook/kernelconfig.html



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

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