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

漏洞信息详情

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

漏洞简介

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” target=”_blank”>
http://www.freebsd.org/handbook/kernelconfig.html

参考网址

来源: FREEBSD
名称: FreeBSD-SA-02:38
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102976839728706&w=2

来源: XF
名称: freebsd-negative-system-call-bo(9903)
链接:http://www.iss.net/security_center/static/9903.php

来源: BID
名称: 5493
链接:http://www.securityfocus.com/bid/5493

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享