修复Kubernetes HTTP/2漏洞公告
漏洞详情
近期Kubernetes社区发布了与Go相关的安全漏洞CVE-2019-9512和CVE-2019-9514。具体的安全问题出现在Go语言的net/http库中,它会影响Kubernetes的所有版本和所有组件。这些漏洞可能导致所有处理HTTP或HTTPS Listener的进程受到DoS攻击。
由于此问题影响范围很广,Go官方及时针对此问题发布了Go 1.12.9和Go 1.11.13版本。
Kubernetes也在v1.13.10 - go1.11.13版本中完成了Go版本的更新。
CCE已发布最新Kubernetes 1.13.10版本对漏洞进行修复,对于已经创建的Kubernetes 1.13版本,2019年9月底将提供补丁进行修复。针对低于Kubernetes 1.13集群版本将提供升级能力。
漏洞类型 |
CVE-ID |
漏洞级别 |
披露/发现时间 |
---|---|---|---|
拒绝服务攻击 |
高 |
2019-08-13 |
|
资源管理错误 |
高 |
2019-08-13 |
漏洞影响
默认集群在VPC和安全组内保护下不受影响。
如果用户通过互联网访问方式开放集群API,集群控制面可能会受影响。
漏洞修复方案
- CCE已发布最新Kubernetes 1.13.10版本对漏洞进行修复。
- 针对低于Kubernetes 1.13集群版本请升级集群版本。
参考链接
Netflix报告链接:
https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md
Go版本发布链接:
https://golang.org/doc/devel/release.html#go1.12
Kubernetes社区PR链接:
附:为何影响?
这些攻击大多在HTTP/2传输层进行。如下图所示,该层位于TLS传输之上,但在请求概念之下。事实上,许多攻击都涉及0或1个请求。
从早期的超文本传输协议开始,中间件服务就以请求为导向:日志以请求为分割(而不是连接);速率限制发生在请求级别;并且流量控制也由请求触发。
相比之下,没有多少工具可以根据客户端在HTTP/2连接层的行为来执行记录、速率限制和修正。因此,中间件服务可能会发现更难发现和阻止恶意的HTTP/2连接,并且可能需要添加额外的工具来处理这些情况。
这些攻击媒介允许远程攻击者消耗过多的系统资源。有些攻击足够高效,单个终端系统可能会对多台服务器造成严重破坏(服务器停机/核心进程崩溃/卡死)。其他攻击效率较低的情况则产生了一些更棘手的问题,只会使服务器的运行变得缓慢,可能会是间歇性的,这样的攻击会更难以检测和阻止。