CVE-2015-8660 OverlayFS文件系统权限检查缺陷漏洞

本文详细介绍了CVE-2015-8660,这是一个OverlayFS文件系统权限检查缺陷漏洞。通过分析漏洞成因,演示如何利用该漏洞创建子进程,分离命名空间,挂载overlay文件系统,修改文件权限,最终实现权限提升。通过代码示例和步骤解释,展示了整个提权过程。文章还提供了相关资源链接以供深入研究。
摘要由CSDN通过智能技术生成

  overlayfs是目前使用比较广泛的层次文件系统,实现简单,性能较好. 可以充分利用不同或则相同overlay文件系统的page cache,具有
  1.上下合并
  2.同名遮盖
  3.写时拷贝
等特点。

  在FS/overlayfs/inode.c中的ovl_setattr()函数里,当用户对底层目录的文件进行修改时,会将原文件复制一份到上层目录,在这个过程中没有对文件的权限进行检查,导致用户可以利用overlayfs绕过文件系统权限检查。
  附一段更详细的解释:  
  The bug is in being too enthusiastic about optimizing ->setattr() away - instead of “copy verbatim with metadata” + “chmod/chown/utimes” (with the former being always safe and the latter failing in case of insufficient permissions) it tries to combine these two. Note that copyup itself will have to do ->setattr() anyway; that is where the elevated capabilities are right. Having these two ->setattr() (one to set verbatim copy of metadata, another to do what overlayfs ->setattr() had been asked to do in the first place) combined is where it breaks.

这个漏洞影响的系统内核版本:

LinuxKernel 3.18.x
LinuxKernel 4.1.x
LinuxKernel 4.2.x
LinuxKernel 4.3.x 

先附上一段可以正常执行提权的代码,里面还保留着我的调试信息,因为生成了好几个子程序,不会用GDB跟踪调试。这段代码改编自exploit-db上给出的poc,删除了部分代码后发现还是能运行,所以就用这个代码了

/*************************************************************************
    > File Name       : overlayfs.c
    > Author          : 何能斌
    > Mail            : enjoy5512@163.com 
    > Created Time    : Tue 15 Mar 2016 01:01:22 AM PDT
    > Remake          :
        这个程序是我根据exploit-db.com上给出的POC文档改编而来,因为多进程
        我不会调试,所以只能加入很多输出来查看程序运行的流程,在程序能正常
        运行的基础上删除了很多头文件,少用了一次fork()
 ************************************************************************/

#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sched.h>
#include<linux/sched.h>
#include<signal.h>
#include<sys/mount.h&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值