Close-on-exec可导致ptrace利用suid程序权限提升发布时间:2002-01-18 更新时间:2002-01-18 严重程度:高 威胁程度:本地管理员权限 错误类型:竞争条件 利用方式:服务器模式 受影响系统 NetBSD-current: prior to January 14, 2002详细描述 一进程可以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 |