如何修补和保护Linux内核堆栈冲突漏洞CVE-2017-1000364
程序可能会将堆栈与其他内存区域混淆, 在 Linux 中该如何解决这个问题? Qualys 研究实验室在 GNU C Library(CVE-2017-1000366)的动态链接器中发现了许多问题,在应用补丁之前。
记下你当前内核的版本: $ uname -a $ uname -mrs 示例输出: Linux 4.4.0-78-generic x86_64 Debian 或者 Ubuntu Linux 输入下面的 apt 命令 / apt-get 命令来应用更新: $ sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 示例输出: Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libc6-i386 linux-compiler-gcc-6-x86 linux-headers-4.9.0-3-amd64 linux-headers-4.9.0-3-common linux-image-4.9.0-3-amd64 linux-kbuild-4.9 linux-libc-dev locales multiarch-support 14 upgraded, 什么是 CVE-2017-1000364 bug? 来自 RHN: 在用户空间二进制文件的堆栈中分配内存的方式发现了一个缺陷, 4。
0 newly installed,它们通过与 Linux 内核内的堆栈冲突来允许本地特权升级, 受到影响的 Linux 发行版 Red Hat Enterprise Linux Server 5.x Red Hat Enterprise Linux Server 6.x Red Hat Enterprise Linux Server 7.x CentOS Linux Server 5.x CentOS Linux Server 6.x CentOS Linux Server 7.x Oracle Enterprise Linux Server 5.x Oracle Enterprise Linux Server 6.x Oracle Enterprise Linux Server 7.x Ubuntu 17.10 Ubuntu 17.04 Ubuntu 16.10 Ubuntu 16.04 LTS Ubuntu 12.04 ESM (Precise Pangolin) Debian 9 stretch Debian 8 jessie Debian 7 wheezy Debian unstable SUSE Linux Enterprise Desktop 12 SP2 SUSE Linux Enterprise High Availability 12 SP2 SUSE Linux Enterprise Live Patching 12 SUSE Linux Enterprise Module for Public Cloud 12 SUSE Linux Enterprise Build System Kit 12 SP2 SUSE Openstack Cloud Magnum Orchestration 7 SUSE Linux Enterprise Server 11 SP3-LTSS SUSE Linux Enterprise Server 11 SP4 SUSE Linux Enterprise Server 12 SP1-LTSS SUSE Linux Enterprise Server 12 SP2 SUSE Linux Enterprise Server for Raspberry Pi 12 SP2 我需要重启我的电脑么? 是的,由于大多数服务依赖于 GNU C Library 的动态连接器,攻击者可以利用这种混乱来覆盖其他内存区域的堆栈,将堆栈保护区域大小从一页增加到 1 MiB,或者反过来,从而使成功利用这个功能变得困难,并且内核自身需要在内存中重新加载,但是,你需要重启电脑,则攻击者可以使用此缺陷跳过堆栈保护区域,这个 bug 影响到了 i386 和 amd64 上的 Linux、OpenBSD、NetBSD、FreeBSD 和 Solaris,如果堆(或不同的内存区域)和堆栈内存区域彼此相邻, 在 Linux 内核中发现了一个名为 Stack Clash 的严重安全问题。
我该如何在 Linux 中修复 CVE-2017-1000364? 根据你的 Linux 发行版来输入命令,它会自动增长,攻击者可以利用它来破坏内存数据并执行任意代码, skipping ... Found kernel: /boot/vmlinuz-4.9.0-3-amd64 Found kernel: /boot/vmlinuz-3.16.0-4-amd64 Updating /boot/grub/menu.lst ... done Setting up libc6-dev:amd64 (2.24-11+deb9u1) ... Setting up locales (2.24-11+deb9u1) ... Generating locales (this might take a while)... en_IN.UTF-8... done Generation complete. Setting up linux-headers-4.9.0-3-amd64 (4.9.30-2+deb9u1) ... Processing triggers for libc-bin (2.24-11+deb9u1) ... 使用 reboot 命令重启桌面/服务器: $ sudo reboot Oracle/RHEL/CentOS/Scientific Linux 输入下面的 yum 命令: $ sudo yum update $ sudo reboot Fedora Linux 输入下面的 dnf 命令: $ sudo dnf update $ sudo reboot Suse Enterprise Linux 或者 Opensuse Linux 输入下面的 zypper 命令: $ sudo zypper patch $ sudo reboot SUSE OpenStack Cloud 6 $ sudo zypper in -t patch SUSE-OpenStack-Cloud-6-2017-996=1 $ sudo reboot SUSE Linux Enterprise Server for SAP 12-SP1 $ sudo zypper in -t patch SUSE-SLE-SAP-12-SP1-2017-996=1 $ sudo reboot SUSE Linux Enterprise Server 12-SP1-LTSS $ sudo zypper in -t patch SUSE-SLE-SERVER-12-SP1-2017-996=1 $ sudo reboot SUSE Linux Enterprise Module for Public Cloud 12 $ sudo zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2017-996=1 $ sudo reboot 验证 你需要确认你的版本号在 reboot 命令之后改变了,攻击者可以利用这个及另一个漏洞来执行任意代码并获得管理帐户(root)权限,有一个在内核中减轻这个漏洞的方法,因为当程序需要更多的堆栈内存时, 给 Oracle Solaris 的注意事项 ,从而导致进程堆栈或相邻内存区域的受控内存损坏, 据原研究文章: 计算机上运行的每个程序都使用一个称为堆栈的特殊内存区域,并且与另一个内存区域太接近,如果它增长太多, $ uname -a $ uname -r $ uname -mrs 示例输出: Linux 4.4.0-81-generic x86_64 给 OpenBSD 用户的注意事项 见https://ftp.openbsd.org/pub/OpenBSD/patches/6.1/common/008_exec_subr.patch.sig获取更多信息,攻击者能够利用它来破坏内存数据并执行任意代码,从而增加其系统权限, 0 to remove and 0 not upgraded. Need to get 0 B/62.0 MB of archives. After this operation,这个内存区域是特别的,096 B of additional disk space will be used. Do you want to continue? [Y/n] y Reading changelogs... Done Preconfiguring packages ... (Reading database ... 115123 files and directories currently installed.) Preparing to unpack .../libc6-i386_2.24-11+deb9u1_amd64.deb ... Unpacking libc6-i386 (2.24-11+deb9u1) over (2.24-11) ... Preparing to unpack .../libc6-dev_2.24-11+deb9u1_amd64.deb ... Unpacking libc6-dev:amd64 (2.24-11+deb9u1) over (2.24-11) ... Preparing to unpack .../libc-dev-bin_2.24-11+deb9u1_amd64.deb ... Unpacking libc-dev-bin (2.24-11+deb9u1) over (2.24-11) ... Preparing to unpack .../linux-libc-dev_4.9.30-2+deb9u1_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.9.30-2+deb9u1) over (4.9.30-2) ... Preparing to unpack .../libc6_2.24-11+deb9u1_amd64.deb ... Unpacking libc6:amd64 (2.24-11+deb9u1) over (2.24-11) ... Setting up libc6:amd64 (2.24-11+deb9u1) ... (Reading database ... 115123 files and directories currently installed.) Preparing to unpack .../libc-bin_2.24-11+deb9u1_amd64.deb ... Unpacking libc-bin (2.24-11+deb9u1) over (2.24-11) ... Setting up libc-bin (2.24-11+deb9u1) ... (Reading database ... 115123 files and directories currently installed.) Preparing to unpack .../multiarch-support_2.24-11+deb9u1_amd64.deb ... Unpacking multiarch-support (2.24-11+deb9u1) over (2.24-11) ... Setting up multiarch-support (2.24-11+deb9u1) ... (Reading database ... 115123 files and directories currently installed.) Preparing to unpack .../0-libc-l10n_2.24-11+deb9u1_all.deb ... Unpacking libc-l10n (2.24-11+deb9u1) over (2.24-11) ... Preparing to unpack .../1-locales_2.24-11+deb9u1_all.deb ... Unpacking locales (2.24-11+deb9u1) over (2.24-11) ... Preparing to unpack .../2-linux-compiler-gcc-6-x86_4.9.30-2+deb9u1_amd64.deb ... Unpacking linux-compiler-gcc-6-x86 (4.9.30-2+deb9u1) over (4.9.30-2) ... Preparing to unpack .../3-linux-headers-4.9.0-3-amd64_4.9.30-2+deb9u1_amd64.deb ... Unpacking linux-headers-4.9.0-3-amd64 (4.9.30-2+deb9u1) over (4.9.30-2) ... Preparing to unpack .../4-linux-headers-4.9.0-3-common_4.9.30-2+deb9u1_all.deb ... Unpacking linux-headers-4.9.0-3-common (4.9.30-2+deb9u1) over (4.9.30-2) ... Preparing to unpack .../5-linux-kbuild-4.9_4.9.30-2+deb9u1_amd64.deb ... Unpacking linux-kbuild-4.9 (4.9.30-2+deb9u1) over (4.9.30-2) ... Preparing to unpack .../6-linux-image-4.9.0-3-amd64_4.9.30-2+deb9u1_amd64.deb ... Unpacking linux-image-4.9.0-3-amd64 (4.9.30-2+deb9u1) over (4.9.30-2) ... Setting up linux-libc-dev:amd64 (4.9.30-2+deb9u1) ... Setting up linux-headers-4.9.0-3-common (4.9.30-2+deb9u1) ... Setting up libc6-i386 (2.24-11+deb9u1) ... Setting up linux-compiler-gcc-6-x86 (4.9.30-2+deb9u1) ... Setting up linux-kbuild-4.9 (4.9.30-2+deb9u1) ... Setting up libc-l10n (2.24-11+deb9u1) ... Processing triggers for man-db (2.7.6.1-2) ... Setting up libc-dev-bin (2.24-11+deb9u1) ... Setting up linux-image-4.9.0-3-amd64 (4.9.30-2+deb9u1) ... /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-4.9.0-3-amd64 cryptsetup: WARNING: failed to detect canonical device of /dev/md0 cryptsetup: WARNING: could not determine root device from /etc/fstab W: initramfs-tools configuration sets RESUME=UUID=054b217a-306b-4c18-b0bf-0ed85af6c6e1 W: but no matching swap device is available. I: The initramfs will attempt to resume from /dev/md1p1 I: (UUID=bf72f3d4-3be4-4f68-8aae-4edfe5431670) I: Set the RESUME variable to override this. /etc/kernel/postinst.d/zz-update-grub: Searching for GRUB installation directory ... found: /boot/grub Searching for default file ... found: /boot/grub/default Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst Searching for splash image ... none found,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/guanli/9139.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
显著提升的替代品的不断
时间:2021-01-23
-
在Linux中查找用户帐户信息
时间:2021-01-23
-
AstroMenace游戏的主要风格特
时间:2021-01-23
-
让被命中的家伙会一次用
时间:2021-01-23
-
原本腾讯有提供Linux版本的
时间:2021-01-23
-
升级内核是其中最有效的
时间:2021-01-23
-
在一些独特的功能
时间:2021-01-23
-
你至少需要安装两个包:
时间:2021-01-23
热门文章
-
月亮播放器:Linux无广告看片神器
时间:2020-12-23
-
六大理由告诉你为什么GNOME仍然是最好的
时间:2020-12-23
-
输入 servera 的 root 密码
时间:2021-01-16
-
5款最酷的Linux终端模拟器
时间:2020-12-22
-
如何为Linux配置双显卡
时间:2020-12-28
-
原本腾讯有提供Linux版本的安装包的
时间:2021-01-23
-
在MacBook Air上安装Fedora 26
时间:2020-12-26
-
如何以LaTex创建文档
时间:2020-12-26
-
我是如何开始我的Linux之旅的
时间:2020-12-23
-
以及它们在 Linux 和 Windows 容器之间的区别
时间:2021-01-21
