K8S 生态周报| Kubernetes 社区发布 CVE 漏洞订阅列表

2022-12-07 14:35:40 浏览数 (1)

“「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。 ”

大家好,我是张晋涛。

Kubernetes Ingress-NGINX 发布 v1.3.1 版本

这是 Kubernetes Ingress-NGINX 项目在进入功能冻结之后,发布的第一个版本。

由于这个版本只是 patch 版本,所以并没有过多大的新增特性。

但这里也有一些需要注意的变更:

  • 为了能兼容 Kubernetes 的更高版本,所以我们将 controller 中用于选举的机制修改成了使用 Lease API 的方式,而不再是原先的 configmap 的方式。其实在 Kubernetes Ingress-NGINX v1.3.0 版本中,我增加了往 Lease API 平滑迁移的逻辑,在使用 v1.3.0 版本的时候,可以自动的完成 ConfigMap 往 Lease API 迁移的逻辑。 所以,如果是想要从旧版本进行平滑升级,建议先升级到 v1.3.0,待完成自动的迁移后,再往更新版本升级。
  • 将基础镜像和 Go 版本均升级到最新版本,修正了一些漏洞。
  • 从这个版本开始,也逐步开始了数据面和控制面的拆分。

如果你在使用 Kubernetes Ingress-NGINX,请帮忙提交一下我们的用户调查: https://www.surveymonkey.com/r/ingressngx2022

更多相关信息可查看 Release Note

Docker v20.10.18 发布

这个版本主要是一些 bugfix,其中有个比较值得注意的修复:

  • [20.10 backport] daemon: kill exec process on ctx cancel by thaJeztah · Pull Request #44018 · moby/moby

Dockerfile 中有一个 HEALTHCHECK 的指令,该指令支持 --interval--timeout 参数,但是 docker daemon 在 healthcheck 的 timeout 之后,并没有回收对应的进程,这样就会导致容器内可能会产生很多 healthcheck 的进程。 本次修复了该处理逻辑,在超时后会自动的发送 KILL 信号进行进程的清理。

  • 升级 runc 和 containerd 版本等,上次的周报 K8S 生态周报| runc 修复多个漏洞,影响 Docker、containerd 和 K8s | MoeLove 里面我介绍过其背景,有兴趣的小伙伴可以看看。

更多相关信息可查看 Release Note

Kubernetes 社区发布官方 CVE 订阅列表

Kubernetes Security Response Committee 近期发布了官方 Kubernetes CVE 订阅列表。

这是一个会自动更新的 JSON feed, 可以直接通过此列表订阅更新。

其包含的内容如下如下所示:

代码语言:javascript复制
➜  ~ curl -Ls https://k8s.io/docs/reference/issues-security/official-cve-feed/index.json  | jq -r '.items[0]'
{
  "id": "CVE-2021-25741",
  "url": "https://github.com/kubernetes/kubernetes/issues/104980",
  "external_url": "https://www.cvedetails.com/cve-details.php?cve_id=CVE-2021-25741",
  "summary": "Symlink Exchange Can Allow Host Filesystem Access"
}

这些内容来自 GitHub 上加了 official-cve-feed 标签的漏洞公告 issue ,并同步到 Google Cloud Bucket 进行存储。

其实这个事情从去年就已经开始做了。不过由于其中涉及的事务较多,直到现在也才正式宣布。

此外,Kubernetes 社区也计划在今后逐步增加 osv.dev 的支持,期待后续的进展!

上游进展

  • kubeadm: Add the option to cleanup the tmp directory by chendave · Pull Request #112172 · kubernetes/kubernetes

kubeadm 新增 cleanup-tmp-dir 配置项,在 kubeadm reset 时,可以通过传递此参数将 kubeadm 产生的临时文件给清理干净。

  • Avoid propagating "search ." into containers /etc/resolv.conf by dghubble · Pull Request #112157 · kubernetes/kubernetes

从 Kubernetes v1.25 开始,/etc/resolv.conf 中的 search . 会被传递到容器内。

这会导致任意基于 musl libc 系统的 DNS 查询失败,比如任何基于 Alpinelinux 的镜像都会失败。

要验证自己的集群是否会受该问题影响,只需要查看系统的 /etc/resolv.conf 文件的内容即可。比如:

代码语言:javascript复制
nameserver 127.0.0.53
options edns0 trust-ad
search .

如果是上述的情况,一般说明是被 systemd resove 接管了,并且会受到此处描述的问题所影响。 该修正会携带到 Kubernetes v1.25.1 版本中。

其他

  • Istio / Introducing Ambient Mesh 这是 Istio 新增的一种无 sidecar 代理的数据面模式,有兴趣的小伙伴可以看看。
  • Release 0.59.1 / 2022-09-12 · prometheus-operator/prometheus-operator Prometheus operator 发布了新版本。

以上就是本期的全部内容, 好了,我们下期再见!


参考资料

[1] k8s生态: https://zhuanlan.zhihu.com/container

0 人点赞