Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务

漏洞详情

近日,腾讯云安全中心情报平台监测到 Netflix 信息安全团队研究员Jonathan Looney发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。

影响版本

目前已知受影响版本如下:

  1. FreeBSD 12(使用到 RACK TCP 协议栈)
  2. CentOS 5(Redhat 官方已停止支持,不再提供补丁)
  3. CentOS 6
  4. CentOS 7
  5. Ubuntu 18.04 LTS
  6. Ubuntu 16.04 LTS
  7. Ubuntu 19.04
  8. Ubuntu 18.10

安全版本

各大Linux发行厂商已发布内核修复补丁,没漏洞的内核版本如下:

  1. CentOS 6 :2.6.32-754.15.3
  2. CentOS 7 :3.10.0-957.21.3
  3. Ubuntu 18.04 LTS:4.15.0-52.56
  4. Ubuntu 16.04 LTS:4.4.0-151.178

修复方法

请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:

CentOS

推荐方案:【CentOS 6/7 系列用户】

  1. yum clean all && yum makecache,进行软件源更新;
  2. yum update kernel -y,更新当前内核版本;
  3. reboot,更新后重启系统生效;
  4. uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。

Ubuntu

推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】

  1. sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
  2. sudo reboot,更新后重启系统生效;
  3. uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。

Temp

临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用(可能会对网络性能产生一定影响),运行如下命令即可:

  1. echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf,禁用 SACK 配置;
  2. sysctl -p ,重载配置,使其生效。

参考

  1. 官方通告:https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md
  2. 社区参考:https://www.openwall.com/lists/oss-security/2019/06/17/5
  3. 红帽公告:https://access.redhat.com/security/vulnerabilities/tcpsack
  4. 腾讯公告:https://cloud.tencent.com/announce/detail/622

附录

我服务器是CentOS,所以以其为示例:

  1. # 进行软件源更新
  2. [root@VM_0_3_centos ~]# yum clean all && yum makecache
  3. Loaded plugins: fastestmirror, langpacks
  4. Cleaning repos: epel extras librehat-shadowsocks os updates
  5. Cleaning up list of fastest mirrors
  6. Loaded plugins: fastestmirror, langpacks
  7. Determining fastest mirrors
  8. epel | 5.3 kB 00:00:00
  9. extras | 3.4 kB 00:00:00
  10. librehat-shadowsocks | 3.0 kB 00:00:00
  11. os | 3.6 kB 00:00:00
  12. updates | 3.4 kB 00:00:00
  13. (1/22): epel/7/x86_64/group_gz | 88 kB 00:00:01
  14. (2/22): epel/7/x86_64/updateinfo | 978 kB 00:00:01
  15. (3/22): epel/7/x86_64/prestodelta | 717 B 00:00:00
  16. (4/22): epel/7/x86_64/filelists_db | 11 MB 00:00:06
  17. (5/22): epel/7/x86_64/primary_db | 6.8 MB 00:00:15
  18. (6/22): epel/7/x86_64/updateinfo_zck | 1.4 MB 00:00:00
  19. (6/22): epel/7/x86_64/updateinfo_zck | 1.4 MB 00:00:00
  20. (6/22): epel/7/x86_64/updateinfo_zck | 1.4 MB 00:00:00
  21. (6/22): epel/7/x86_64/updateinfo_zck | 1.4 MB 00:00:00
  22. (6/22): epel/7/x86_64/updateinfo_zck | 1.4 MB 00:00:00
  23. (7/22): extras/7/x86_64/prestodelta | 65 kB 00:00:01
  24. (8/22): extras/7/x86_64/primary_db | 205 kB 00:00:01
  25. (9/22): extras/7/x86_64/other_db | 127 kB 00:00:00
  26. (10/22): librehat-shadowsocks/x86_64/filelists_db | 17 kB 00:00:00
  27. (11/22): librehat-shadowsocks/x86_64/primary_db | 23 kB 00:00:00
  28. (12/22): librehat-shadowsocks/x86_64/other_db | 10 kB 00:00:00
  29. (13/22): os/7/x86_64/group_gz | 166 kB 00:00:00
  30. (14/22): os/7/x86_64/primary_db | 6.0 MB 00:00:03
  31. (15/22): os/7/x86_64/filelists_db | 7.1 MB 00:00:05
  32. (16/22): os/7/x86_64/other_db | 2.6 MB 00:00:00
  33. (17/22): updates/7/x86_64/prestodelta | 797 kB 00:00:00
  34. (18/22): updates/7/x86_64/primary_db | 6.4 MB 00:00:01
  35. (19/22): updates/7/x86_64/other_db | 641 kB 00:00:00
  36. (20/22): updates/7/x86_64/filelists_db | 4.4 MB 00:00:05
  37. epel/7/x86_64/other_db
  38. http://mirrors.tencentyun.com/epel/7/x86_64/repodata/24838144a5b86bb0cd90b22255258aeed11691115ae3c35463e471cbae0f2ab9-other.sqlite.bz2: [Errno 12] Timeout on http://mirrors.tencentyun.com/epel/7/x86_64/repodata/24838144a5b86bb0cd90b22255258aeed11691115ae3c35463e471cbae0f2ab9-other.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
  39. Trying other mirror.
  40. (21/22): extras/7/x86_64/filelists_db | 246 kB 00:00:26
  41. (22/22): epel/7/x86_64/other_db | 3.2 MB 00:00:12
  42. Metadata Cache Created
  43. # 更新内核
  44. [root@VM_0_3_centos ~]# yum update kernel -y
  45. Loaded plugins: fastestmirror, langpacks
  46. Loading mirror speeds from cached hostfile
  47. Resolving Dependencies
  48. --> Running transaction check
  49. ---> Package kernel.x86_64 0:3.10.0-957.21.3.el7 will be installed
  50. --> Finished Dependency Resolution
  51. Dependencies Resolved
  52. =======================================================================================================================================================================
  53. Package Arch Version Repository Size
  54. =======================================================================================================================================================================
  55. Installing:
  56. kernel x86_64 3.10.0-957.21.3.el7 updates 48 M
  57. Transaction Summary
  58. =======================================================================================================================================================================
  59. Install 1 Package
  60. Total download size: 48 M
  61. Installed size: 63 M
  62. Downloading packages:
  63. Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
  64. kernel-3.10.0-957.21.3.el7.x86_64.rpm | 48 MB 00:00:11
  65. Running transaction check
  66. Running transaction test
  67. Transaction test succeeded
  68. Running transaction
  69. Installing : kernel-3.10.0-957.21.3.el7.x86_64 1/1
  70. Verifying : kernel-3.10.0-957.21.3.el7.x86_64 1/1
  71. Installed:
  72. kernel.x86_64 0:3.10.0-957.21.3.el7
  73. Complete!
  74. # 重启
  75. [root@VM_0_3_centos ~]# reboot
  76. # 查看内核版本是否为最新的`3.10.0-957.21.3`
  77. [root@VM_0_3_centos ~]# uname -a
  78. Linux VM_0_3_centos 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

关于Linux TCP "SACK PANIC" 远程拒绝服务漏洞的修复的更多相关文章

  1. [转帖]预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响

    预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响   https://cloud.tencent.com/developer/article/1447879 所有的 版本 ...

  2. Linux Kernel 远程拒绝服务漏洞

    漏洞名称: Linux Kernel 远程拒绝服务漏洞 CNNVD编号: CNNVD-201307-309 发布时间: 2013-07-18 更新时间: 2013-07-18 危害等级:    漏洞类 ...

  3. Linux Kernel 空指针逆向引用拒绝服务漏洞

    漏洞名称: Linux Kernel 空指针逆向引用拒绝服务漏洞 CNNVD编号: CNNVD-201306-449 发布时间: 2013-07-01 更新时间: 2013-07-01 危害等级:   ...

  4. Linux Kernel 多个本地拒绝服务漏洞

    漏洞名称: Linux Kernel 多个本地拒绝服务漏洞 CNNVD编号: CNNVD-201308-154 发布时间: 2013-08-12 更新时间: 2013-08-12 危害等级:    漏 ...

  5. Linux Kernel ‘skbuff.c’本地拒绝服务漏洞

    漏洞名称: Linux Kernel ‘skbuff.c’本地拒绝服务漏洞 CNNVD编号: CNNVD-201307-498 发布时间: 2013-07-24 更新时间: 2013-07-24 危害 ...

  6. Apache CXF多个远程拒绝服务漏洞(CVE-2013-2160)

    漏洞版本: Apache Group CXF <= 2.5.10 Apache Group CXF 2.7.4 Apache Group CXF 2.6.7 漏洞描述: BUGTRAQ ID: ...

  7. Linux Kernel ‘test_root()’函数本地拒绝服务漏洞

    漏洞名称: Linux Kernel ‘test_root()’函数本地拒绝服务漏洞 CNNVD编号: CNNVD-201306-432 发布时间: 2013-06-25 更新时间: 2013-06- ...

  8. WordPress ‘crypt_private()’方法远程拒绝服务漏洞

    漏洞名称: WordPress ‘crypt_private()’方法远程拒绝服务漏洞 CNNVD编号: CNNVD-201306-250 发布时间: 2013-06-20 更新时间: 2013-06 ...

  9. 重大漏洞!PHP multipart/form-data头部解析远程拒绝服务漏洞

    "有些人看不懂,简单比喻来说吧:目前刚出的任何安全防护都不会拦,网站类专属漏洞 畸形数据包,2KB随机数据包,2M网速打死各种网站,cdn通挂!"PHP multipart/for ...

随机推荐

  1. 2.Shell脚本中的set指令,比如set -x 和 set -e

    set参数介绍 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a 标示已修改的变量,以供输出至环境变量. -b 使被中止的后台程序立刻回报执行状态. -C 转向所产生的文件无 ...

  2. 1.Shell特殊位置变量

    $0    文件名及路径 $1,$2    参数1,参数2 , 也可以用${1}  和 ${2} 来表示 $#    传递给脚本或函数的参数个数 $$    当前Shell进程ID $?    判断上 ...

  3. web的应用模式

    在开发web应用中,有两种模式: 1.前后端分离. 2.前后端不分离. 一.前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果是有后端控制的,由后端渲染页面或重定向,也就是后端需要控制前端的 ...

  4. java request.getInputStream中文乱码解决方案

    请求时要指定为UTF-8,中文码码完美解决 /** * * 得到请求body字符串,一般用于content-type:application/json * */ public static Strin ...

  5. tcp 3次握手和4次挥手

    TCP标志位 (参考来源:https://blog.csdn.net/ltstud/article/details/73995933和 https://blog.csdn.net/weixin_308 ...

  6. Android 培训准备资料之project与module的区别(1)

    project和module的区别? 现在我们来看看在Android studio中怎样新建一个project (1)file->new->new project. Application ...

  7. 手把手教你如何利用 HeroKu 免费获取一个 Scrapyd 集群

    手把手教你如何利用 HeroKu 免费获取一个 Scrapyd 集群 本文原始地址:https://sitoi.cn/posts/48724.html 准备环境 一个 GitHub 的账号 一个 He ...

  8. 迁移生产环境的GItLab11.3.5到新的服务器

    在新的服务器上 rpm安装git 首先停止,Gitlab服务 root@localhost # gitlab-ctl stop 参考了 以下链接: https://blog.csdn.net/liul ...

  9. 一天撸完《 Learning Jupyter 5 2nd Edition》

    因为工作需要了解这个应用的大概功能. 网上找不到下载的,CSDN没积分. 最后,在道客上找到了这个PDF.花了一天时间浏览了一下, 只留意了python功能,其它语言略去. widget和jupyte ...

  10. djabgo 中间件

    1.中间件是发生在request和response 之间,都会经过中间键, 上述截图中的中间件都是django中的,我们也可以自己定义一个中间件,我们可以自己写一个类,但是必须继承Middleware ...