【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞- Linux内核通杀提权漏洞-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞- Linux内核通杀提权漏洞

英鸷 2016-10-22 17:10:15 18962
        2016 年10 月20 日,Linux 内核团队修复了长达9 年的0day 漏洞-CVE-2016-5195 ,该漏洞被称为“脏牛漏洞(DirtyCOW )”,漏洞是由于Linux 内核的内存子系统在处理 Copy-on-Write 时出现竞争条件(漏洞),导致私有的只读内存映射被破坏、获取读写权限后进一步提权,影响范围较大,具体详情如下:

                                

漏洞编号:CVE-2016-5195
漏洞名称: 脏牛(Dirty COW )
风险等级:
漏洞危害:
黑客可以通过远程入侵获取低权限用户shell 后,然后利用该漏洞在全版本Linux 系统上实现本地提权,从而获取服务器root 权限。
漏洞利用条件:
黑客可以通过远程入侵获取低权限用户shell 后, 才能进一步利用该漏洞。
漏洞影响范围:
根据Linux 内核官方评估自2007 年来发行的 >=2.6.22 的内核版本全部受影响,目前该漏洞POC 已经公布,为了确保您在阿里云上的业务不会被利用造成安全事件,阿里云安全团队在第一时间针对ECS 提供的Linux 操作系统镜像进行测试,具体受影响范围如下表:

我们建议您使用以下方式自查是否存在此漏洞:

使用uname –a 查看Linux 系统的内核版本:
不受影响系统:
[root@AYxxxx ~]# uname -a

Linux AYxxxx 2.6.18-308.el5 #1 SMPTue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
该内核为Linux version 2.6.18-308.el5,不受此漏洞影响。

受影响系统:
[root@AYxxxx~]# uname -a
Linux AYxxxx 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
该内核为Linux 2.6.32-431.23.3.el6.x86_64,受此漏洞影响。


漏洞修复:      
漏洞修复方式:
一. CentOS 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
CentOS 5/6/7 系列操作系统 阿里云已经更新了CentOS 5/6/7 Aliyun mirror源,在默认配置下,您可以更新软件列表,随后按照以下步骤升级内核:
1.检查是否有内核升级包:yum check-update |grep kernel
2.升级内核:yum update kernel
3.确认下新版本的内核或 initrd/initramfs 是否有xen-vbd和virtio_blk驱动:
lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk
4).如果有,则可以重启
5).如果没有,则需要给initrd/initramfs安装驱动,然后执行第三步后重启:
centos 5:
#mkinitrd -f --allow-missing \
--with= xen-vbd  --preload=xen-vbd \
--with=xen-platform-pci --preload=xen-platform-pci \
--with=virtio_blk --preload=virtio_blk \
--with=virtio_pci --preload=virtio_pci \
--with=virtio_console --preload=virtio_console \
--with=hvc_console --preload=hvc_console \
$target_initrd $vmlinuz(表示内核版本号)
(具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)
centos 6、7 :
#mkinitrd -f --allow-missing \
--with= xen-blkfront --preload=xen-blkfront \
--with=virtio_blk --preload=virtio_blk \
--with=virtio_pci --preload=virtio_pci \
--with=virtio_console --preload=virtio_console \
$target_initrd $vmlinuz
(具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)
样例:
#mkinitrd -f --allow-missing --with=xen-blkfront --preload=xen-blkfront --with=virtio_blk --preload=virtio_blk --with=virtio_pci --preload=virtio_pci --with=virtio_console --preload=virtio_console initramfs-2.6.32-642.6.2.el6.x86_64.img 2.6.32-642.6.2.el6.x86_64
5).执行第三步后,查看是否有驱动,然后重启系
# lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'
-rwxr --r --   1 root     root         23448 Nov   4 16 : 21 lib /modules / 2.6 . 32 - 642.6 . 2.el6.x86_64 /kernel /drivers /block /virtio_blk .ko
-rwxr --r --   1 root     root         54888 Nov   4 16 : 21 lib /modules / 2.6 . 32 - 642.6 . 2.el6.x86_64 /kernel /drivers /block /xen -blkfront .ko
6).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证
注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -a
Linux iZ2ze1zpafrqftmdfh0b3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
#rpm -q --changelog kernel | grep 'CVE-2016-5195'
- [mm] close FOLL MAP_PRIVATE race (Larry Woodman) [1385116 1385117] {CVE-2016-5195}
修复风险
未知
需要重启

二. AliyunOS 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
Aliyun OS 修复方式暂无
修复风险
未知
需要重启

三.   Ubuntu 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
1、查看是否有最新更新包: dpkg -l  | grep linux
2、更新列表:apt-get update 或apt update
3、升级:
Ubuntu12.04版本:apt-get install linux-generic
Ubuntu14.04版本:apt-get upgrade或apt  upgrade
修复风险
未知
需要重启
备注
保持系统默认配置

四. Debain 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
1、查看是否有最新更新包: dpkg -l  | grep linux
2、更新列表:apt-get update
2、升级:apt-get upgrade
修复风险
未知
需要重启
备注
保持系统默认配置

五. SUSE Linux Enterprise Server 系统(仅限购买SLES企业服务用户)
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
1、更新列表:zypper refresh
2、安装最新内核:zypper install kernel-default xen-kmp-default
3、确认下新版本的内核或 initrd / initramfs 是否有xen-vbd和virtio_blk驱动lsinitrd  /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'
样例:
# lsinitrd  /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'
lib/modules/3.12.62-55-default/kernel/drivers/block/virtio_blk.ko
lib/modules/3.12.62-55-default/updates/blkfront/xen-vbd.ko
如果有,可以重启
如果没有,则需要给 initrd / initramfs 安装驱动:
#mkinitrd -k /boot/vmlinuz-3.12.62-55-default  -i /boot/initrd-3.12.62-55-default(具体版本根据实际安装为准)
修复风险
未知
需要重启

六. Open SUSE 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
1、更新列表:zypper refresh
2、安装最新内核:zypper install kernel-default xen-kmp-default
3、确认下新版本的内核或 initrd / initramfs 是否有xen-vbd和virtio_blk驱动lsinitrd  /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'
样例:
# lsinitrd  /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'
lib/modules/3.12.62-55-default/kernel/drivers/block/virtio_blk.ko
lib/modules/3.12.62-55-default/updates/blkfront/xen-vbd.ko
如果有,可以重启
如果没有,则需要给 initrd / initramfs 安装驱动:
#mkinitrd -k /boot/vmlinuz-3.12.62-55-default  -i /boot/initrd-3.12.62-55-default(具体版本根据实际安装为准)
修复风险
未知
需要重启

七. CoreOS 系统
修复准备
1、正确关闭您的业务服务,并做好数据备份工作;
2、修复前对服务器创建快照,避免修复失败造成不可逆的影响
修复方式
update_engine_client -update
修复风险
未知
需要重启


  • 对于阿里云官方发布的其余系列的操作系统,Linux 官方正在研发漏洞对应的系统补丁,待补丁发布后,将系统更新到最新版本即可修复漏洞。
  • 对于自定义镜像用户可以关注操作系统原厂商更新状态,自己根据自身业务判断升级内核,修复该漏洞。
  • 如果您的服务器安装了第三方的防护软件有可能会导致内核升级不成功,例如:云锁、安全狗,建议您先卸载后升级内核成功后再安装启用。



更多漏洞相关信息请参见以下链接:
1. https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetails
2. https://github.com/dirtycow
3. http://dirtycow.ninja/
4. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619
5. http://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-5195.html
6. https://access.redhat.com/security/cve/cve-2016-5195
7. https://www.suse.com/security/cve/CVE-2016-5195.html
8. https://security-tracker.debian.org/tracker/CVE-2016-5195
9. https://access.redhat.com/security/vulnerabilities/2706661
10. http://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-5195.html






























云安全 人工智能 弹性计算 安全 Ubuntu Linux Shell 开发工具 虚拟化 git
分享到
取消 提交回答
全部回答(7)
  • 星星105
    2016-11-10 18:08:23
    Re【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞Linux内核通杀提权漏
    centos 6.x,内核2.6.32,要怎么升级
    0 0
  • 夜眼
    2016-11-06 22:52:29
    Re【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞Linux内核通杀提权漏
    我ubuntu12.04按照你的说明更新了系统,然后连不上网了。网卡都不见了 ,怎么解决。
    这是我在管理终端上的截图
    0 0
  • aaab1
    2016-11-04 15:00:28
    Re【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞Linux内核通杀提权漏
    黑客利用资产上的 UDP_RISK_PORT 服务发起对外DDos攻击,建议使用防火墙限制信任IP访问服务。
    这个如何解决
    0 0
  • 小猪猪
    2016-10-28 16:06:29
    Re:【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞- Linux内核通杀提权漏 ..
    yum check-update |grep kernel  以后在阿里云的更新源里边找到
    2.6.32-642.6.2.el6
    这个修复 了吗

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

    Re:【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞- Linux内核通杀提权漏 ..
      这个可以不用修复吗 这个是提权漏洞

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

    Re:【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞- Linux内核通杀提权漏 ..
    CentOS 6.3 64位 2.6.32-279.el6.x86_64
    升级内核 直接不行呢
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyuncs.com
    * extras: mirrors.aliyuncs.com
    * updates: mirrors.aliyuncs.com
    Setting up Update Process
    No Packages marked for Updat

    这个漏洞要是必须升级的吗?
    0 0
  • leemo.ding
    2016-10-27 11:07:20
    Re【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞Linux内核通杀提权漏
    目前安全团队是否在ECS服务器中 ,对centos6和7 测试了此安全漏洞的修复

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

    Re【漏洞公告】CVE-2016-5195“脏牛(Dirty COW)”漏洞Linux内核通杀提权漏
    kernel-2.6.32-642.6.2.el6.x86_64.rpm  请确认下centos6的这个补丁
    0 0
滑动查看更多

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题