CVE-2021-3121
1 分钟 阅读时间
存在该漏洞的程序可能会因为处理了包含恶意 Protobuf
消息而崩溃。如果您使用的 Gogo Protobuf
版本过低,可能存在该漏洞。
漏洞影响
Kubernetes
系统组件由于自身有应对崩溃的恢复机制,当遇到恶意提交的 Protobuf
消息时不会中断服务,所以不在该漏洞的影响范围内。
在应用系统中程序接收处理 Protobuf
消息时,如果组件没有应对崩溃的恢复机制,那么这类程序都在该漏洞影响范围内,且被恶意攻击时服务可能会中断。
Kubernetes
社区经过测试验证 API Server
不受该漏洞的影响,但为了避免您受到该安全漏洞隐患的影响,社区对相关 Protobuf
文件进行了升级。
防范措施
如果在您的应用系统代码中使用了自动生成的 Protobuf
消息,并且发现相关组件因为以下异常退出,则可能存在该漏洞。
panic: runtime error: index out of range [-9223372036854775804]
goroutine 1 [running]:
v1.(*MessageName).Unmarshal(0xc00006f1e8, 0xc0000281a8, 0xa, 0x10, 0xc00006f1b8, 0x1)
.../protofile.pb.go:250 +0xb86
如果您使用了 Protobuf
消息的相关组件,推荐将 Gogo Protobuf
编译器升级到漏洞修复版本(v1.3.2 或更高的版本),再基于升级后的 Protobuf
编译器重新生成相关的 Protobuf
消息。
官方修复的版本
- v1.21.1
- v1.20.7
- v1.19.11
- v1.18.19
KLTS 修复的版本
- v1.17.17-lts.1 kubernetes/kubernetes#101327
- v1.16.15-lts.1 kubernetes/kubernetes#101327
- v1.15.12-lts.1 kubernetes/kubernetes#101327
- v1.14.10-lts.1 kubernetes/kubernetes#101327
- v1.13.12-lts.1 kubernetes/kubernetes#101327
- v1.12.10-lts.1 kubernetes/kubernetes#101327
- v1.11.10-lts.1 kubernetes/kubernetes#101327
- v1.10.13-lts.1 kubernetes/kubernetes#101327
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改
2022.03.08
: 修改下主目录的层级:kubernetes 和 containerd 平级 (f6668712)