xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

FREEBSD stdio文件描述符处理不安全漏洞


发布时间:2002-04-24
更新时间:2002-04-24
严重程度:
威胁程度:本地管理员权限
错误类型:设计错误
利用方式:服务器模式

受影响系统
所有FreeBSD版本
4.5-RELEASE
详细描述
按照惯例,POSIX系统关联文件描述符0,1,2相应为标准输入,标准输出,标准错误。所有应用程序给予stdio文件描述符特殊的重要性,如写错误信息到标准错误上。

在新的进程中,所有文件描述符从父进程中复制,除非这些描述符被标志为close-on-exec,它们会在exec期间保持他们的状态。

所有POSIX系统分配文件描述符按照一定的顺序,一般以最低没有使用的文件描述符分配,如一个新的exec进程有0和1文件描述符打开,但文件2描述符关闭的,然后打开一个文件,新的描述符将被指派为2(标准错误)。

一些程序被设置为setuid或者setgid,因此运行时会增加权限,如果一程序以其他某些关闭了的stdio文件描述符启动,程序打开文件并不注意的关联了它的标准输入,标准输出,标准错误,当程序写读数据的时候就会不正确,就可能导致权限提升。

keyinit存在此漏洞。

测试代码
尚无

解决方案
临时解决方案:

# chmod 0555 /usr/bin/keyinit

1)升级到4.5-STABLE,或者升级到RELENG_4_5 (4.5-RELEASE-p4)或者RELENG_4_4 (4.4-RELEASE-p11)正确修改日期之后。

2)下载补丁:

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:23/stdio.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:23/stdio.patch.asc

相关信息
FreeBSD Security Advisory FreeBSD-SA-02:23.stdio
参考:http://archives.neohapsis.com/archives/bugtraq/2002-04/0299.html