如果可用,请使用"新的挂载 API"
作者: smcv创建于 2026年5月29日更新于 2026年8月28日
标签enhancementhelp wanted
bubblewrap 目前使用传统的 mount(2) API 来处理所有事务。这对于容器的使用场景来说不是一个很好的接口。特别是,mount(2) API 的一个问题是基于路径而不是基于 fd,因此需要使用一些奇怪且不稳定的代码来实现 --[ro-]bind-fd(对于运行在攻击者控制的目录层次结构上的 Flatpak 和其他沙箱框架来说,需要使用 --[ro-]bind-fd 来避免 CVE-2024-42472 和 CVE-2026-34078 等漏洞)。如果我们使用"新的挂载 API",应该可以通过使用 open_tree(..., AT_EMPTY_PATH | OPEN_TREE_CLONE | AT_RECURSIVE) 后跟 mount_setattr() 和 move_mount(..., MOVE_MOUNT_F_EMPTY_PATH) 来实现 --[ro-]bind-fd,类似于 open_tree(2) 中的一些示例。
内容来源: containers/bubblewrap