mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
PRF&PUB:20170620 How To Patch and Protect Linux Kernel Stack Clash Vulnerability CVE-2017-1000364 .md
@geekpi
This commit is contained in:
parent
a79f28e3f3
commit
69dbeb2f3b
@ -1,79 +1,54 @@
|
|||||||
如何修补和保护 Linux 内核堆栈冲突漏洞 CVE-2017-1000364 [ 2017.6.19 ]
|
如何修补和保护 Linux 内核堆栈冲突漏洞 CVE-2017-1000364
|
||||||
============================================================
|
============================================================
|
||||||
|
|
||||||
[![](https://www.cyberciti.biz/media/new/category/old/linux-logo.png)][12] 在 Linux 内核中发现了一个名为 “Stack Clash” 的严重安全问题,攻击者可能会利用它来破坏内存并执行任意代码。攻击者可以利用另一个漏洞来执行任意代码并获得管理/root 帐户权限。在 Linux 中该如何解决这个问题?
|
在 Linux 内核中发现了一个名为 “Stack Clash” 的严重安全问题,攻击者能够利用它来破坏内存数据并执行任意代码。攻击者可以利用这个及另一个漏洞来执行任意代码并获得管理帐户(root)权限。
|
||||||
|
|
||||||
|
在 Linux 中该如何解决这个问题?
|
||||||
|
|
||||||
[![the-stack-clash-on-linux-openbsd-netbsd-freebsd-solaris](https://www.cyberciti.biz/media/new/faq/2017/06/the-stack-clash-on-linux-openbsd-netbsd-freebsd-solaris.jpeg)][22]
|
[![the-stack-clash-on-linux-openbsd-netbsd-freebsd-solaris](https://www.cyberciti.biz/media/new/faq/2017/06/the-stack-clash-on-linux-openbsd-netbsd-freebsd-solaris.jpeg)][22]
|
||||||
Qualys 研究实验室在 GNU C Library(CVE-2017-1000366)的动态链接器中发现了许多问题,它们通过与 Linux 内核的堆栈冲突来允许本地特权升级。这个 bug 在 i386 和 amd64 上影响 Linux、OpenBSD、NetBSD、FreeBSD 和 Solaris。攻击者可以利用它来破坏内存并执行任意代码。
|
|
||||||
|
Qualys 研究实验室在 GNU C Library(CVE-2017-1000366)的动态链接器中发现了许多问题,它们通过与 Linux 内核内的堆栈冲突来允许本地特权升级。这个 bug 影响到了 i386 和 amd64 上的 Linux、OpenBSD、NetBSD、FreeBSD 和 Solaris。攻击者可以利用它来破坏内存数据并执行任意代码。
|
||||||
|
|
||||||
### 什么是 CVE-2017-1000364 bug?
|
### 什么是 CVE-2017-1000364 bug?
|
||||||
|
|
||||||
[来自 RHN][13]:
|
[来自 RHN][13]:
|
||||||
|
|
||||||
> 在用户空间二进制文件的堆栈中分配内存的方式发现了一个缺陷。如果堆(或不同的内存区域)和堆栈内存区域彼此相邻,则攻击者可以使用此缺陷跳过堆栈保护区域,从而导致进程堆栈或相邻内存区域受到控制的内存损坏,从而增加其系统权限。有一个在内核中减轻这个漏洞的方法,将堆栈保护区域大小从一页增加到 1 MiB,从而使成功利用这个功能变得困难。
|
> 在用户空间二进制文件的堆栈中分配内存的方式发现了一个缺陷。如果堆(或不同的内存区域)和堆栈内存区域彼此相邻,则攻击者可以使用此缺陷跳过堆栈保护区域,从而导致进程堆栈或相邻内存区域的受控内存损坏,从而增加其系统权限。有一个在内核中减轻这个漏洞的方法,将堆栈保护区域大小从一页增加到 1 MiB,从而使成功利用这个功能变得困难。
|
||||||
|
|
||||||
[As per the original research post][14]:
|
[据原研究文章][14]:
|
||||||
|
|
||||||
> 计算机上运行的每个程序都使用一个称为堆栈的特殊内存区域。这个内存区域是特别的,因为当程序需要更多的堆栈内存时,它会自动增长。但是,如果它增长太多,并且与另一个内存区域太接近,程序可能会将堆栈与其他内存区域混淆。攻击者可以利用这种混乱来覆盖其他内存区域的堆栈,或者反过来。
|
> 计算机上运行的每个程序都使用一个称为堆栈的特殊内存区域。这个内存区域是特别的,因为当程序需要更多的堆栈内存时,它会自动增长。但是,如果它增长太多,并且与另一个内存区域太接近,程序可能会将堆栈与其他内存区域混淆。攻击者可以利用这种混乱来覆盖其他内存区域的堆栈,或者反过来。
|
||||||
|
|
||||||
### 收到影响的 Linux 发行版
|
### 受到影响的 Linux 发行版
|
||||||
|
|
||||||
1. Red Hat Enterprise Linux Server 5.x
|
1. Red Hat Enterprise Linux Server 5.x
|
||||||
|
|
||||||
2. Red Hat Enterprise Linux Server 6.x
|
2. Red Hat Enterprise Linux Server 6.x
|
||||||
|
|
||||||
3. Red Hat Enterprise Linux Server 7.x
|
3. Red Hat Enterprise Linux Server 7.x
|
||||||
|
|
||||||
4. CentOS Linux Server 5.x
|
4. CentOS Linux Server 5.x
|
||||||
|
|
||||||
5. CentOS Linux Server 6.x
|
5. CentOS Linux Server 6.x
|
||||||
|
|
||||||
6. CentOS Linux Server 7.x
|
6. CentOS Linux Server 7.x
|
||||||
|
|
||||||
7. Oracle Enterprise Linux Server 5.x
|
7. Oracle Enterprise Linux Server 5.x
|
||||||
|
|
||||||
8. Oracle Enterprise Linux Server 6.x
|
8. Oracle Enterprise Linux Server 6.x
|
||||||
|
|
||||||
9. Oracle Enterprise Linux Server 7.x
|
9. Oracle Enterprise Linux Server 7.x
|
||||||
|
|
||||||
10. Ubuntu 17.10
|
10. Ubuntu 17.10
|
||||||
|
|
||||||
11. Ubuntu 17.04
|
11. Ubuntu 17.04
|
||||||
|
|
||||||
12. Ubuntu 16.10
|
12. Ubuntu 16.10
|
||||||
|
|
||||||
13. Ubuntu 16.04 LTS
|
13. Ubuntu 16.04 LTS
|
||||||
|
|
||||||
14. Ubuntu 12.04 ESM (Precise Pangolin)
|
14. Ubuntu 12.04 ESM (Precise Pangolin)
|
||||||
|
|
||||||
15. Debian 9 stretch
|
15. Debian 9 stretch
|
||||||
|
|
||||||
16. Debian 8 jessie
|
16. Debian 8 jessie
|
||||||
|
|
||||||
17. Debian 7 wheezy
|
17. Debian 7 wheezy
|
||||||
|
|
||||||
18. Debian unstable
|
18. Debian unstable
|
||||||
|
|
||||||
19. SUSE Linux Enterprise Desktop 12 SP2
|
19. SUSE Linux Enterprise Desktop 12 SP2
|
||||||
|
|
||||||
20. SUSE Linux Enterprise High Availability 12 SP2
|
20. SUSE Linux Enterprise High Availability 12 SP2
|
||||||
|
|
||||||
21. SUSE Linux Enterprise Live Patching 12
|
21. SUSE Linux Enterprise Live Patching 12
|
||||||
|
|
||||||
22. SUSE Linux Enterprise Module for Public Cloud 12
|
22. SUSE Linux Enterprise Module for Public Cloud 12
|
||||||
|
|
||||||
23. SUSE Linux Enterprise Build System Kit 12 SP2
|
23. SUSE Linux Enterprise Build System Kit 12 SP2
|
||||||
|
|
||||||
24. SUSE Openstack Cloud Magnum Orchestration 7
|
24. SUSE Openstack Cloud Magnum Orchestration 7
|
||||||
|
|
||||||
25. SUSE Linux Enterprise Server 11 SP3-LTSS
|
25. SUSE Linux Enterprise Server 11 SP3-LTSS
|
||||||
|
|
||||||
26. SUSE Linux Enterprise Server 11 SP4
|
26. SUSE Linux Enterprise Server 11 SP4
|
||||||
|
|
||||||
27. SUSE Linux Enterprise Server 12 SP1-LTSS
|
27. SUSE Linux Enterprise Server 12 SP1-LTSS
|
||||||
|
|
||||||
28. SUSE Linux Enterprise Server 12 SP2
|
28. SUSE Linux Enterprise Server 12 SP2
|
||||||
|
|
||||||
29. SUSE Linux Enterprise Server for Raspberry Pi 12 SP2
|
29. SUSE Linux Enterprise Server for Raspberry Pi 12 SP2
|
||||||
|
|
||||||
### 我需要重启我的电脑么?
|
### 我需要重启我的电脑么?
|
||||||
@ -82,9 +57,13 @@ Qualys 研究实验室在 GNU C Library(CVE-2017-1000366)的动态链接器
|
|||||||
|
|
||||||
### 我该如何在 Linux 中修复 CVE-2017-1000364?
|
### 我该如何在 Linux 中修复 CVE-2017-1000364?
|
||||||
|
|
||||||
根据你的 Linux 发行版输入命令。你需要重启电脑。在应用补丁之前,记下你当前内核的版本:
|
根据你的 Linux 发行版来输入命令。你需要重启电脑。在应用补丁之前,记下你当前内核的版本:
|
||||||
`$ uname -a
|
|
||||||
$ uname -mrs`
|
```
|
||||||
|
$ uname -a
|
||||||
|
$ uname -mrs
|
||||||
|
```
|
||||||
|
|
||||||
示例输出:
|
示例输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -93,8 +72,12 @@ Linux 4.4.0-78-generic x86_64
|
|||||||
|
|
||||||
### Debian 或者 Ubuntu Linux
|
### Debian 或者 Ubuntu Linux
|
||||||
|
|
||||||
输入下面的[ apt 命令][15]/[apt-get 命令][16]来应用更新:
|
输入下面的 [apt 命令][15] / [apt-get 命令][16]来应用更新:
|
||||||
`$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade`
|
|
||||||
|
```
|
||||||
|
$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
示例输出:
|
示例输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -182,53 +165,77 @@ Setting up linux-headers-4.9.0-3-amd64 (4.9.30-2+deb9u1) ...
|
|||||||
Processing triggers for libc-bin (2.24-11+deb9u1) ...
|
Processing triggers for libc-bin (2.24-11+deb9u1) ...
|
||||||
```
|
```
|
||||||
|
|
||||||
使用[ reboot 命令][17]重启桌面/服务器:
|
使用 [reboot 命令][17]重启桌面/服务器:
|
||||||
`$ sudo reboot`
|
|
||||||
|
```
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### Oracle/RHEL/CentOS/Scientific Linux
|
### Oracle/RHEL/CentOS/Scientific Linux
|
||||||
|
|
||||||
输入下面的[ yum 命令][18]:
|
输入下面的 [yum 命令][18]:
|
||||||
`$ sudo yum update
|
|
||||||
$ sudo reboot`
|
```
|
||||||
|
$ sudo yum update
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### Fedora Linux
|
### Fedora Linux
|
||||||
|
|
||||||
输入下面的 dnf 命令:
|
输入下面的 dnf 命令:
|
||||||
`$ sudo dnf update
|
|
||||||
$ sudo reboot`
|
```
|
||||||
|
$ sudo dnf update
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### Suse Enterprise Linux 或者 Opensuse Linux
|
### Suse Enterprise Linux 或者 Opensuse Linux
|
||||||
|
|
||||||
输入下面的 zypper 命令:
|
输入下面的 zypper 命令:
|
||||||
`$ sudo zypper patch
|
|
||||||
$ sudo reboot`
|
```
|
||||||
|
$ sudo zypper patch
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### SUSE OpenStack Cloud 6
|
### SUSE OpenStack Cloud 6
|
||||||
|
|
||||||
`$ sudo zypper in -t patch SUSE-OpenStack-Cloud-6-2017-996=1
|
```
|
||||||
$ sudo reboot`
|
$ sudo zypper in -t patch SUSE-OpenStack-Cloud-6-2017-996=1
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### SUSE Linux Enterprise Server for SAP 12-SP1
|
### SUSE Linux Enterprise Server for SAP 12-SP1
|
||||||
|
|
||||||
`$ sudo zypper in -t patch SUSE-SLE-SAP-12-SP1-2017-996=1
|
```
|
||||||
$ sudo reboot`
|
$ sudo zypper in -t patch SUSE-SLE-SAP-12-SP1-2017-996=1
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### SUSE Linux Enterprise Server 12-SP1-LTSS
|
### SUSE Linux Enterprise Server 12-SP1-LTSS
|
||||||
|
|
||||||
`$ sudo zypper in -t patch SUSE-SLE-SERVER-12-SP1-2017-996=1
|
```
|
||||||
$ sudo reboot`
|
$ sudo zypper in -t patch SUSE-SLE-SERVER-12-SP1-2017-996=1
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### SUSE Linux Enterprise Module for Public Cloud 12
|
### SUSE Linux Enterprise Module for Public Cloud 12
|
||||||
|
|
||||||
`$ sudo zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2017-996=1
|
```
|
||||||
$ sudo reboot`
|
$ sudo zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2017-996=1
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
### 验证
|
### 验证
|
||||||
|
|
||||||
你需要确认你的版本号在 [reboot 命令][19]之后改变了。
|
你需要确认你的版本号在 [reboot 命令][19]之后改变了。
|
||||||
`$ uname -a
|
|
||||||
|
```
|
||||||
|
$ uname -a
|
||||||
$ uname -r
|
$ uname -r
|
||||||
$ uname -mrs`
|
$ uname -mrs
|
||||||
|
```
|
||||||
|
|
||||||
示例输出:
|
示例输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -252,15 +259,15 @@ Linux 4.4.0-81-generic x86_64
|
|||||||
|
|
||||||
Vivek Gite
|
Vivek Gite
|
||||||
|
|
||||||
作者是 nixCraft 的创始人,对于 Linux 操作系统/Unix shell脚本有经验丰富的系统管理员和培训师。他曾与全球客户及各行各业,包括IT、教育、国防和空间研究以及非营利部门合作。在 [Twitter][1]、[Facebook] [2]、[Google +] [3] 上关注他。
|
作者是 nixCraft 的创始人,对于 Linux 操作系统/Unix shell脚本有经验丰富的系统管理员和培训师。他曾与全球客户及各行各业,包括 IT、教育、国防和空间研究以及非营利部门合作。在 [Twitter][1]、[Facebook] [2]、[Google +] [3] 上关注他。
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
via: https://www.cyberciti.biz/faq/howto-patch-linux-kernel-stack-clash-vulnerability-cve-2017-1000364/
|
via: https://www.cyberciti.biz/faq/howto-patch-linux-kernel-stack-clash-vulnerability-cve-2017-1000364/
|
||||||
|
|
||||||
作者:[Vivek Gite ][a]
|
作者:[Vivek Gite][a]
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
Loading…
Reference in New Issue
Block a user