在Go语言的net/http库
中发现了一个安全问题,所有版本的Kubernetes都会受到影响
。这些漏洞针对使用HTTP或HTTPS监听的所有进程的DoS。
漏洞详细信息
Netflix最近宣布了一项安全公告,该公告确定了几个可能影响HTTP/2协议服务器实现的拒绝服务攻击向量,并发布了8个CVE。[1]
Go受两个漏洞(CVE-2019-9512和CVE-2019-9514)的影响,因此服务于HTTP/2流量(including / healthz)的Kubernetes组件也会受到影响。[2]
这些漏洞允许不受信任的客户端分配无限量的内存,直到服务器崩溃。产品安全委员会已将这组漏洞分配为CVSS评分为7.5 [3]
[1]. https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md
[2]. https://golang.org/doc/devel/release.html#go1.12
[3]. https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
如何解决漏洞?
Go发布了go1.12.8
和go1.11.13
版本,我们也发布了使用修补版本的Go构建的以下版本的Kubernetes。
- Kubernetes v1.15.3 - go1.12.9
- Kubernetes v1.14.6 - go1.12.9
- Kubernetes v1.13.10 - go1.11.13
升级到上面列出的Kubernetes修补版本。
该如何升级?
更新新版本时,你可以按照 https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#upgrading-a-cluster 上的升级说明进行操作。
鸣谢
感谢Netflix的Jonathan Looney
向Go社区发现并报告这些问题。
感谢Christoph Blecker
,Benjamin Elder
和Tim Pepper
协调修复和发布。