重要的CVE漏洞记录


记录 docker 和 Kubernetes 相关的 CVE 漏洞!

总的来说,建议用户及时升级内核版本和相关软件,以确保系统的安全性。

重要的CVE漏洞记录


Docker CVE-2018-15664

  • 表象
    • 攻击的主要途径是  docker cp  相关的操作,攻击范围其实不算太大。
    • 最主要可能被攻击的对象其实是公有云。对于普通用户而言,如果受此攻击,那前提是攻击者已经具备了机器的权限和 Docker 的操作权限。
  • 解决
    • Pass root to chroot to for chroot Tar/Untar
  • 链接

Docker CVE-2019-5021

  • 表象
    • Alpine Linux 3.3 版本开始的所有 Docker 镜像中,root 用户包含一个空密码,这可能会导致攻击者获得 root 权限,进而造成攻击。
  • 解决
    • 更新到最新版本或手动修改 Dockerfile 文件
  • 链接
# 漏洞表象
> docker run --rm -it alpine:3.9
> grep root /etc/passwd
root:x:0:0:root:/root:/bin/ash
operator:x:11:0:operator:/root:/bin/sh
> grep root /etc/shadow
root:::0:::::

# 修复方式
# 关于Alpine-Docker镜像漏洞CVE-2019-5021
RUN sed -ie 's/^root::/root:!:/' "$rootfs/etc/shadow"

Docker CVE-2020-13401

  • 表象
    • 通过使用 IPv6 RA 消息进行地址欺骗的安全漏洞
  • 解决
    • 解决办法也很简单,直接将  /proc/sys/net/ipv6/conf/*/accept_ra  设置成 0 ,这样便可确保不接收 RA 消息,从而避免遭受攻击。
  • 链接

Kubernetes CVE-2019-11245

  • 表象
    • 如果 Pod 中的容器,开始时是以某个非 root 用户启动的,但是当它重启后,则会以 root (uid 0) 的身份启动,或者是 Node 节点上已经存在了启动容器所需的镜像。
    • 也存在例外,比如已经显式的通过  runAsUser  指定了运行用户,则不会受到此漏洞影响。
  • 解决
    • 更新到最新版本或显式指定 runAsUser  参数
  • 链接

Kubernetes CVE-2019-11247

// 修正主要是针对CRD,核心代码如下
var possiblyAcrossAllNamespacesVerbs = sets.NewString("list", "watch")
namespacedCRD, namespacedReq := crd.Spec.Scope == apiextensions.NamespaceScoped, len(requestInfo.Namespace) > 0
if !namespacedCRD && namespacedReq {
    r.delegate.ServeHTTP(w, req)
    return
}
if namespacedCRD && !namespacedReq && !possiblyAcrossAllNamespacesVerbs.Has(requestInfo.Verb) {
    r.delegate.ServeHTTP(w, req)
    return
}

Kubernetes CVE-2019-11249


文章作者: Escape
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Escape !
  目录