首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>网络安全>正文

Linux Kernel 本地竞争条件漏洞

http://www.oklinux.cn  2009-03-18  绿盟科技    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

Linux Kernel是开放源码操作系统Linux所使用的内核,存在locks_remove_flock()本地竞争条件漏洞。

受影响系统:

Linux kernel 2.6.x

不受影响系统:

Linux kernel 2.6.25.6

描述:

--------------------------------------------------------------------------------

BUGTRAQ ID: 33237

CVE(CAN) ID: CVE-2008-4307

Linux Kernel是开放源码操作系统Linux所使用的内核。

RHEL4/5内核处理POSIX锁定时fcntl调用可能与关闭相同文件描述符出现竞争,本地攻击者可以利用这个漏洞导致拒绝服务或获得权限提升。

fcntl以如下方式获得POSIX锁定:

sys_fcntl()

fget()

do_fcntl()

fcntl_setlk()

fput()

if(!count) __fput()

locks_remove_flock()

fcntl_setlk()调用可能阻塞很长时间,允许同一进程中的其他线程关闭文件描述符:

sys_close()

filp_close()

locks_remove_posix()

fput()

if(!count) __fput()

locks_remove_flock()

如果其中一个线程仍在fcntl_setlk中阻断期间但在许可锁定之前(在将file_lock结构放置到inode的i_lock列表之前)从另一个线程关闭了文件描述符,关闭路径中的locks_remove_posix调用就会错过POSIX锁定。此时还无法调用locks_remove_flock,因为fcntl_setlk中线程仍持有对文件的引用。

当__fput调用locks_remove_flock时,sys_fcntl返回路径的最终fput可以触发漏洞:

/*

* This function is called on the last close of an open file.

*/

void locks_remove_flock(struct file *filp)

{

[...]

while ((fl = *before) != NULL) {

if (fl->fl_file == filp) {

if (IS_FLOCK(fl)) {

locks_delete_lock(before);

continue;

}

if (IS_LEASE(fl)) {

lease_modify(before, F_UNLCK);

continue;

}

if (IS_POSIX(fl))

continue;

/* What? */

BUG(); <----

}

before = &fl->fl_next;

}

unlock_kernel();

}

建议:

--------------------------------------------------------------------------------

厂商补丁:

Linux

-----

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.25-git6.log


上一篇:认识Linux防火墙Iptables   下一篇:Linux Kernel 64位ABI系统调用参数权限提升漏洞

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux Kernel 64位ABI系统调用参数权限提升漏洞
·认识Linux防火墙Iptables
·超越防火墙——互联网军事化
·针对Linux网络服务器的渗透测试
·国外开源社区称近年Linux下没有发现病毒了
·Linux Kernel 文件本地拒绝服务漏洞
·Linux 与 Windows安全漫谈
·Linux Kernel系统调用绕过安全限制漏洞
·Ubuntu 错误权限限制漏洞
·Linux系统网络安全的内在限制
·Ubuntu中Sudo和Root 帐号相关
·Linux系统中的Passwd文件详细解析
·Linux Kernel审计系统调用绕过安全限制漏洞
·Linux Kernel SCTP模块多个安全漏洞
·Flash Player APSB09-01更新修复安全漏洞
·Linux Kernel readlink本地权限提升漏洞
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux Kernel 64位ABI系统调用参数权限
·认识Linux防火墙Iptables
·超越防火墙——互联网军事化
·针对Linux网络服务器的渗透测试
·国外开源社区称近年Linux下没有发现病
·Linux Kernel 文件本地拒绝服务漏洞
·Linux 与 Windows安全漫谈
·Linux Kernel系统调用绕过安全限制漏洞
·Ubuntu 错误权限限制漏洞
·Linux系统网络安全的内在限制
·Ubuntu中Sudo和Root 帐号相关
·Linux系统中的Passwd文件详细解析
  阅读排行
·Ubuntu中UFW防火墙的安装及使用
·Ubuntu里安装配置防火墙
·Ubuntu下轻松安装小红伞杀毒软件
·为Linux服务器部署高效防毒软件
·SUSE Linux 默认的iptables防火墙配置
·通过Linux工具来全面保障无线网络安全
·Linux安全之网上惊现傻瓜型病毒制作工
·从Linux内核的漏洞角度考虑系统安全
·linux安全:Linux ACL 体验
·使用SSL 保护VNC应用程序
·玩转Ubuntu Linux之加密文件系统篇
·用Apache Proxy的指令改进LAMP安全性
·Linux下破解路由器WEP加密
·常用log4j配置
·linux 下使用tc的相关概念
网摘收藏: