在kubernetes-csi外部配置程序,外部快照程序和外部调整大小的辅助工具中发现了一个安全问题,该问题会影响容器存储接口(CSI)驱动程序中捆绑的大多数辅助工具版本。
漏洞的严重程度为中等
,使用Kubernetes中的CSI卷快照,克隆或调整大小功能时,可能导致未经授权的卷数据访问或突变。 建议将CSI驱动程序升级到固定小车。 详细信息在下面和在https://issue.k8s.io/85233
已修复的CSI的版本:
external-provisioner:
- v0.4.3
- v1.0.2
- v1.2.2
- v1.3.1
- v1.4.0
external-snapshotter:
- v0.4.2
- v1.0.2
- v1.2.2
external-resizer
- v0.3.0
无需在kubernetes/kubernetes
中进行修复。
受影响的组件和版本
以下Kubernetes版本受默认功能门影响:
- v1.16.0+
下列Kubernetes版本受启用非默认Alpha VolumeSnapshotDataSource,ExpandCSIVolumes和VolumePVCDataSource功能门的影响:
- v1.12.0+
这些kubernetes-csi sidecars版本安装的CSI驱动程序会受到影响:
external-provisioner: v0.4.1-0.4.2, v1.0.0-1.0.1, v1.1.0-1.2.1, v1.3.0
external-snapshotter: v0.4.0-0.4.1, v1.0.0-1.0.1, v1.1.0-v1.2.1
external-resizer: v0.1.0-0.2.0
如何缓解漏洞?
作为临时的缓解方案,禁用kube-apiserver和kube-controller-manager中的VolumeSnapshotDataSource,ExpandCSIVolumes和VolumePVCDataSource Kubernetes gate功能。这就会设置新的PersistentVolumeClaims,而忽略DataSource,并且调整大小的请求也将被忽略。注意,这将导致打算从快照或克隆中调配新的PVC,而是的空白磁盘。
另外,要禁用获取volume快照,需要从CSI驱动程序中删除外部快照工具,或撤销snapshot.storage.k8s.io API组上CSI驱动程序的RBAC权限。
从长远来看,最好的方式是使用受影响的Sidecar的修补版本升级CSI驱动程序。