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

Close-on-exec可导致ptrace利用suid程序权限提升


发布时间:2002-01-18
更新时间:2002-01-18
严重程度:
威胁程度:本地管理员权限
错误类型:竞争条件
利用方式:服务器模式

受影响系统
NetBSD-current: prior to January 14, 2002
NetBSD-1.5.*: affected up to and including 1.5.2
NetBSD-1.4.*: affected up to and including 1.4.3
详细描述
一进程可以exec一setuid两进制程序,当在进程被激活之前获得ptrace控制
一下段时间中,ptrace控制进程可以修改控制进程的地址空间和提升它的权利。

此问题类似NetBSD-SA2001-009,使用ptrace跟踪setugid进程中存在条件竞争允许
绕过一般的限制而获得权限提升。

测试代码
尚无

解决方案
* NetBSD-current:

系统运行在2002-01-14之前的NetBSD-current 需要升级到2002-01-15 以后的版本:

下面的文件需要在netbsd-current CVS 中升级:

        sys/kern/kern_exec.c
                sys/kern/sys_process.c
                sys/sys/proc.h
                sys/miscfs/procfs/procfs_ctl.c
                sys/miscfs/procfs/procfs_mem.c
                sys/miscfs/procfs/procfs_regs.c
                sys/miscfs/procfs/procfs_vnops.c

从CVS升级内核:

                # cd src
                # cvs update -d -P sys/kern/kern_exec.c
                # cvs update -d -P sys/kern/sys_process.c
                # cvs update -d -P sys/sys/proc.h
                # cvs update -d -P sys/miscfs/procfs/procfs_ctl.c
                # cvs update -d -P sys/miscfs/procfs/procfs_mem.c
                # cvs update -d -P sys/miscfs/procfs/procfs_regs.c
                # cvs update -d -P sys/miscfs/procfs/procfs_vnops.c

然后重建和安装新的内核。

* NetBSD 1.5, 1.5.1, 1.5.2:

系统运行NetBSD 1.5-branch 2002-01-14 之前的版本需要升级到2002-01-15以后:

            netbsd-1-5 CVS branch:
                sys/kern/kern_exec.c
                sys/kern/sys_process.c
                sys/sys/proc.h
                sys/miscfs/procfs/procfs_ctl.c
                sys/miscfs/procfs/procfs_mem.c
                sys/miscfs/procfs/procfs_regs.c 、

从CVS中升级内核:




                # cd src
                # cvs update -d -P sys/kern/kern_exec.c
                # cvs update -d -P sys/kern/sys_process.c
                # cvs update -d -P sys/sys/proc.h
                # cvs update -d -P sys/miscfs/procfs/procfs_ctl.c
                # cvs update -d -P sys/miscfs/procfs/procfs_mem.c
                # cvs update -d -P sys/miscfs/procfs/procfs_regs.c
                # cvs update -d -P sys/miscfs/procfs/procfs_vnops.c

再重建内核。

或者从下面的地址获得补丁:

    ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2002-001-ptrace-1.5.patch

* NetBSD 1.4, 1.4.1, 1.4.2, 1.4.3:

采用如下补丁:

    ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2002-001-ptrace-1.4.patch

相关信息
NetBSD Security Officer (security-officer@netbsd.org)
参考:http://archives.neohapsis.com/archives/bugtraq/2002-01/0212.html