返回新闻概述

LXC 3.0.2 已发布

2018 年 8 月 21 日

简介

LXC 团队很高兴地宣布 LXC 3.0.2 发布!

作为一个稳定的 bug 修复版本,没有进行重大更改,而是专注于 bug 修复和次要可用性改进。

亮点

  • 适应 Linux 4.18 中的更改,该更改允许在用户命名空间中创建但不能打开设备节点
  • 在容器启动时分配网络命名空间 ID
  • 构建静态 liblxc
    这有助于通过 Netlink 有效地检索网络接口及其地址。
  • 在整个代码库中加强线程安全性
  • 在所有 strncpy()strncat() 实例中添加了高效的 strlcpy()strlcat() 实现,以使字符串处理更安全
  • lxc-* 工具(例如 lxc-attachlxc-start)与 liblxc 共享库共享符号
    这显着减少了代码库的大小。
  • 全面的代码风格修复

CVE-2018-6556

此版本通过提交 CVE 2018-6556: verify netns fd in lxc-user-nic 修复了 CVE-2018-6556lxc-user-nic 在被要求删除网络接口时,会无条件地打开用户提供的路径。

此代码路径可能被非特权用户用来检查他们无法访问的路径的存在。它还可以用来通过导致特殊内核文件(ptmxprocsys)的(只读)打开来触发副作用。

受影响的版本是 LXC:2.0 版本高于且包括 2.0.9;3.0 版本高于且包括 3.0.0,早于 3.0.2。

Bug 修复 (LXC)

  • 修复了 Coverity 发现的一系列 bug
  • lxc-usernsexec:清理和 bug 修复
  • 日志:添加 CMD_SYSINFO()
  • 日志:添加 CMD_SYSERROR()
  • 状态:s/sleep()/nanosleep()/
  • lxclock:改进文件锁定
  • lxccontainer:改进文件锁定
  • lxccontainer:修复 F_OFD_GETLK 检查
  • netlink:添加 __netlink_{send,recv,transaction}
  • netns:分配网络命名空间 ID
  • 维护者:添加 Wolfgang Bumiller
  • CVE 2018-6556: verify netns fd in lxc-user-nic
  • pam_cgfs:清理
  • 日志:添加默认日志优先级
  • 全面的:将无符号 long 传递给 prctl()
  • 宏:添加新的宏头
  • conf:在 EINVAL 上挂载 devpts 而不使用“max”
  • 全面的:在 read() 和 write() 中处理 EINTR
  • 全面的:用 pipe2() 替换 pipe()
  • confile:将挂载选项拆分为标志和数据
  • conf:改进 rootfs 设置
  • autotools:默认使用 -Wvla -std=gnu11
  • 全面的:删除 VLAs
  • 全面的:用 lxc_iterate_parts() 替换 strtok_r()
  • utils:添加 lxc_iterate_parts()
  • apparmor:允许 start-container 更改为 lxc-**
  • apparmor:更新当前配置文件
  • apparmor:允许 /usr/lib* 路径用于挂载和 pivot_root
  • conf:atime 标志在 userns 中被锁定
  • conf:处理部分功能的设备节点
  • conf:创建 /dev 目录
  • autotools:构建共享和静态 liblxc
  • namespace:添加将命名空间转换为标准标识符的 API
  • 全面的:设置 MSG_NOSIGNAL
  • 全面的:使用 mknod() 创建虚拟文件
  • cgfsng:尊重 lxc.cgroup.use
  • cgroups:删除 is_crucial_cgroup_subsystem()
  • 全面的:删除不必要的日志前缀
  • 测试:清理所有测试
  • terminal:在 pty 文件描述符上设置 FD_CLOEXEC
  • conf:简化 lxc_setup_dev_console()
  • tools:重新设计工具
  • autodev:适应 Linux 4.18 中的更改
  • 日志:使用 strerror 将 DEBUG、INFO、TRACE、NOTICE 宏更改为 SYS* 宏
  • 日志:添加 lxc_log_strerror_r 宏
  • 网络:现在非特权 lxc 将运行 lxc.net.[i].script.up
  • conf:仅在必要时使用 newuidmap 和 newgidmap
  • autotools:支持交叉编译中的 tls

Bug 修复 (LXC 模板)

  • fedora:支持 Fedora 28
  • templates:opensuse:添加对 openSUSE Leap 15 的支持
  • templates:opensuse:删除对 EOL 发行版的支持
  • templates:lxc-opensuse.in:确保缓存已完全填充
  • templates:lxc-opensuse.in:修复 openSUSE Leap 15 缓存 URL

Bug 修复 (python3 绑定)

  • 修复 README.md 中的拼写错误

支持和升级

LXC 3.0.2 支持到 2023 年 6 月,是我们的当前 LTS 版本,鼓励用户更新到最新发布的 bug 修复版本。

下载