LXC 5.0.2 LTS 已发布¶
2023年1月20日
简介¶
LXC 团队很高兴地宣布发布 LXC 5.0.2!
这是 LXC 5.0 的第二个错误修复版本,支持期限至 2027 年 6 月。
安全修复¶
此版本修复了一个最近针对 LXC 公开的 CVE。
CVE-2022-47952 涵盖了使用 lxc-user-nic
(setuid 二进制文件)来发现通常对用户不可访问的位置的文件是否存在。
此漏洞被归类为低严重性 CVE,并通过 Github 公开向我们报告,并附带了修复程序。鉴于此漏洞并非在保密协议下发布,并且鉴于此问题的低影响,我们决定像处理任何其他 liblxc 错误修复一样处理它。
错误修复¶
像往常一样,此错误修复版本侧重于稳定性和强化。
此版本的亮点包括
- 修复了切换到 meson 后导致的各种构建问题
- lxc-attach:修复缺少的返回码
- 核心:为容器的根用户设置对等组
- checkconfig:使输出在现代内核上更有用
- lxc-user-nic:修复导致向非特权用户泄漏文件存在的问题 (CVE-2022-47952)
完整的提交列表如下所示
详细变更日志
- meson.build:允许显式 distrosysconfdir
- 构建:检测声明 struct mount_attr 的位置
- 构建:检测 sys/pidfd.h 的可用性
- cgroups:修复 -Waddress 警告
- 构建:修复对依赖项的处理以修复 openSUSE 上的构建
- 构建:仅在 libcap 可静态链接时构建 init.lxc.static
- 构建:删除构建时 systemd 依赖项
- src/lxc/meson.build:修复静态库路径
- meson.build:从 git 输出中去除换行符
- meson.build:为变量赋值去除换行符
- gitignore:简化
- 构建:在 sys/mount.h 中检查 FS_CONFIG_* 头文件符号
- 全树:清除直接或间接的 linux/mount.h 包含
- 全树:直接使用 struct clone_args
- 全树:直接使用 struct open_how
- meson:修复 docbook2x 检测
- 全树:最小化 liburing.h 的包含
- 挂载:将挂载实用程序从 syscall_wrappers.h 移动到 mount_utils.h
- mount_utils:删除 conf.h 包含
- 构建:使用技巧防止包含 linux/mount.h
- 全树:将打开帮助程序拆分为 open_utils.h
- 使用 sd_bus_call_method_async 替换 asyncv
- 修复使用 -? 选项时工具的错误消息
- 更新 cifuzz.yml
- 构建(依赖项):将 actions/checkout 从 2 提升到 3
- 配置:允许跨设备链接
- 更新 README.md
- lxc-attach:修复被杀死的生成进程的丢失返回码
- lxc/attach:检测 execvp 的 EACCES 并转换为 126 退出状态
- 工具:lxc-destroy:更新 --force 的帮助消息
- 测试:lxc-test-checkpoint-restore:使用 trap 进行清理
- 展开 IN_SET,因为最大使用量是 2 个元素检查
- 测试:lxc-test-reboot:修复 ia64 上的构建
- 自述文件:删除 lgtm
- cgroups:在删除 cgroup 时使用 userns_exec_full()
- cgroups:仅在必须时分配用户命名空间
- 配置:为容器的根用户创建单独的对等组
- apparmor:允许在 start-container.in 中共享挂载
- 配置:确保挂载隧道是依赖项挂载
- github:修复 coverity 构建
- github:修复 coverity(添加 libpam-dev)
- apparmor:正确检查 lxc_strmmap 的返回值
- 网络:始终初始化 struct nl_handler
- cgroups:修复 enable_controllers_delegation 中的缓冲区越界访问
- cgroups:在 unpriv_systemd_create_scope 中检查 snprintf 的返回值
- 状态:在 lxc_wait 中添加检查以防止 OOB
- cgroups:修复 __initialize_cgroups 中的 cgroup 布局检测
- 构建:使用 cc.get_define 检测 FS_CONFIG_* 符号
- src/lxc/meson.build:修复没有 apparmor 的构建
- checkconfig:修复混合制表符/空格
- checkconfig:如果没有 lxc-start,则隐藏版本
- checkconfig:调整布局
- checkconfig:调整 cgroup 处理
- checkconfig:修复文件系统功能检查
- 构建:强制链接到 liblxc
- 修补传入的 CVE (CVE-2022-47952)
- lxc_user_nic:修复 get_mtu() 的错误处理
- lxc-default-cgns apparmor 配置文件:允许覆盖挂载
- 修复由使用 gold 链接器引起的 sparc64 上的构建错误
支持和升级¶
LXC 5.0 分支支持期限至 2027 年 6 月。
只有错误修复和安全问题才会包含在稳定的错误修复版本中,因此始终建议保持最新并运行最新的错误修复版本。
下载¶
- 主要发行版压缩包:lxc-5.0.2.tar.gz
- GPG 签名:lxc-5.0.2.tar.gz.asc