Kubernetes社区披露了编号为CVE-2021-3121的安全漏洞,存在该漏洞的程序可能会因为处理了包含恶意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(0xc000057ef8, 0xc0000161a0, 0xa, 0x10, 0xc000057ec8, 0x1)
.../protofile.pb.go:250 +0xb86
如果您使用了Protobuf消息的相关组件,推荐将Gogo Protobuf编译器升级到漏洞修复版本(v1.3.2或更高的版本),再基于升级后的Protobuf编译器重新生成相关的Protobuf消息。
© 版权声明
文章版权归原作者所有,未经允许请勿转载。
THE END
暂无评论内容