设为首页 收藏本站
查看: 2101|回复: 0

[经验分享] “脏牛(Dirty Cow)”漏洞】CVE-2016-5195:Linux 内核本地提权漏洞 通告及修复

[复制链接]

尚未签到

发表于 2018-6-28 10:43:43 | 显示全部楼层 |阅读模式
漏洞编号:CVE-2016-5195
漏洞名称:脏牛(Dirty COW)
风险等级:高危
漏洞危害:
  ***可以通过远程***获取低权限用户后,在服务器本次利用该漏洞在全版本Linux系统上实现本地提权,从而获取到服务器root权限。
漏洞利用条件:
  ***可以通过远程***获取低权限用户后,才能进一步在操作系统本地利用该漏洞。
漏洞影响范围

  •   Linux Kernel >= 2.6.22 的所有 Linux 系统
      意味着从 2007 年发布 2.6.22 版本开始,直到2016年10月18日为止,这中间发行的所有 Linux 系统都受影响。
  使用uname –a查看 Linux 系统的内核版本,如:
  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
  上述内核版本2.6.32-431.23.3.el6.x86_64受漏洞影响。
  Linux AYxxxx 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
  上述内核版本2.6.18-308.el5不受漏洞影响。
漏洞修复方案
  **因为涉及到操作系统内核的升级,我们强烈建议您:正确关闭正在运行的服务,并做好业务数据备份工作。同时创建服务器磁盘快照,避免修复失败造成不可逆的影响。
  如果您的服务器安装了第三方的防护软件有可能会导致内核升级不成功,例如:云锁、安全狗,建议您先卸载后升级内核成功后再安装启用。
1.CentOS 5/6/7 系列操作系统
  阿里云已经更新了CentOS 5/6/7Aliyun 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'

  •   查看补丁样例:
      #lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'(具体是版本而定,可以到cd /boot/ 目录下面查看对应的initrd文件(Centos5.1)或initramfs文件(centos6/7))

  •   # 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 14:51 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 14:51 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
  4).如果有,则可以重启
  5).如果没有,则需要给initrd/initramfs安装驱动,然后执行第三步后重启:

  •   centos 5:
      (具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)

  •   #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
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  安装驱动样例(本样例以Centos6.8 64bit为准):
#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  具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz
  6).执行第三步后,查看是否有驱动,然后重启系统
# 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  7).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证
  注:更新完毕后可能会安装两个内核,但不影响系统运行。
# uname -aLinux 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}Ubuntu 系列操作系统
  阿里云已经更新了Ubuntu mirror源,可以直接在默认配置下,您可以更新软件列表,随后一键升级内核:
  1).查看是否有更新包:dpkg -l | grep linux
  2).更新包列表:apt-get updateor apt update
  3).升级内核:
  Ubuntu12.04版本:apt-get install linux-generic
  Ubuntu14.04版本:apt-get upgrade或apt upgrade
  4).然后重启系统
  5).查看升级后的内核版本:uname -a或者zcat /usr/share/doc/linux-image-3.13.0-101-generic/changelog.Debian.gz | grep -i 'CVE-2016-5195',也可以使用云盾安骑士验证
  注:更新完毕后可能会安装两个内核,但不影响系统运行。
# uname -aLinux iZ2ze1zpaXXXXb3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26  或者
# zcat /usr/share/doc/linux-image-3.13.0-101-generic/changelog.Debian.gz | grep -i 'CVE-2016-5195'  * CVE-2016-51953.Debian 系列操作系统
  阿里云已经更新了Ubuntu mirror源,可以直接在默认配置下,您可以更新软件列表,随后一键升级内核:
  1).查看是否有更新包:dpkg -l | grep linux
  2).更新包列表:apt-get update
  3).升级内核:apt-get upgrade
  4).然后重启系统
  5).查看升级后的内核版本:uname -a或者zcat /usr/share/doc/linux-image-3.16.0-4-amd64/changelog.Debian.gz | grep -i 'CVE-2016-5195',也可以使用云盾安骑士验证
  注:更新完毕后可能会安装两个内核,但不影响系统运行。
# uname -aLinux iZ2ze1zpaXXXXb3cZ 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  或者
# zcat /usr/share/doc/linux-image-3.16.0-4-amd64/changelog.Debian.gz |grep -i 'CVE-2016-5195'    (CVE-2016-5195)4.SUSE Linux Enterprise Server 系列操作系统(仅限购买SLES企业服务用户)
  1).使用http://mirrors.aliyuncs.com/SLES/SLES12-SP1-Updates/sle-12-x86_64/ 源进行更新,您可以编辑vim /etc/zypp/repos.d/SLES12-SP1-Updates.repo关闭其他更新源,即:修改http://mirrors.aliyun.com/SLES/SLES12-SP1-Updates/sle-12-x86_64/ enabled=0,然后更新列表:zypper refresh
  2).安装最新内核:zypper install kernel-default xen-kmp-default
  3).确认下新版本的内核或 initrd / initramfs 是否有xen-vbd和virtio_blk驱动:
  lsinitrd /boot/initrd-3.12.62-60.64.8-default | grep -i -E 'xen-vbd|virtio_blk'

  •   查看补丁样例:
      lsinitrd /boot/initrd-3.12.62-60.64.8-default | grep -i -E 'xen-vbd|virtio_blk'

  •   Arguments: --logfile --force --force-drivers 'xen-vbd xen-vnif xen-platform-pci.ko virtio virtio_console virtio_net virtio_blk virtio_pci'
  •   -rw-r--r--   1 root     root        55335 Sep 23 15:55 lib/modules/3.12.62-60.62-default/updates/blkfront/xen-vbd.ko
  •   -rw-r--r--   1 root     root        31591 Oct 19 04:40 lib/modules/3.12.62-60.64.8-default/kernel/drivers/block/virtio_blk.ko
  •   lrwxrwxrwx   1 root     root           61 Nov  7 14:17 lib/modules/3.12.62-60.64.8-default/weak-updates/updates/blkfront/xen-vbd.ko -> ../../../../3.12.62-60.62-default/updates/blkfront/xen-vbd.ko
  4).如果有,可以重启
  5).如果没有,则需要给 initrd / initramfs 安装驱动,然后执行第三步后重启:
  mkinitrd -k /boot/vmlinuz-3.12.62-60.64.8-default -i /boot/initrd-3.12.62-60.64.8-default(具体版本根据实际安装为准)
  6).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证
  注:更新完毕后可能会安装两个内核,但不影响系统运行。
# uname -aLinux iZwz9cl4i8oy1pmjw7g4rxZ 3.12.62-60.64.8-default #1 SMP Tue Oct 18 12:21:38 UTC 2016 (42e0a66) x86_64 x86_64 x86_64 GNU/Linux  或者
# rpm -q --changelog kernel-default | grep 'CVE-2016-5195'- patches.fixes/mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user_pages.patch: (bnc1004418, CVE-2016-5195).5.Open SUSE 系列操作系统
  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
  4).如果有,可以重启
  5).如果没有,则需要给 initrd / initramfs 安装驱动,然后执行第三步后重启:
  # mkinitrd -k /boot/vmlinuz-3.12.62-55-default -i /boot/initrd-3.12.62-55-default(具体版本根据实际安装为准)
  6).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证
  注:更新完毕后可能会安装两个内核,但不影响系统运行。
# uname -aLinux iZwz9XXXshamswbvrZ 3.12.62-55-default #1 SMP Thu Oct 20 08:47:11 UTC 2016 (b0aa9a6) x86_64 x86_64 x86_64 GNU/Linux  或者
# rpm -q --changelog kernel-default | grep 'CVE-2016-5195'- patches.fixes/mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user_pages.patch: (bnc1004418, CVE-2016-5195).6.CoreOS 系列操作系统
  安装所有可用更新,包括新内核:
update_engine_client -update重启机器7.重要提示

  •   1). 对于阿里云官方发布的其余系列的操作系统,Linux 官方正在研发漏洞对应的系统补丁,待补丁发布后,将系统更新到最新版本即可修复漏洞。
  •   2). 对于自定义镜像用户可以关注操作系统原厂商更新状态,自己根据自身业务判断升级内核,修复该漏洞。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-531647-1-1.html 上篇帖子: Citrix StoreFront 3.7 的新增功能 下篇帖子: SharePoint Server 2016 部署安装(四)—— 安装SQL Server 2016(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表