High · published August 11, 2025
In the Linux kernel, the following vulnerability has been resolved:
clone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns
What we want is to verify there is that clone won't expose something
hidden by a mount we wouldn't be able to undo. "Wouldn't be able to undo"
may be a result of MNT_LOCKED on a child, but it may also come from
lacking admin rights in the userns of the namespace mount belongs to.
clone_private_mnt() checks the former, but not the latter.
There's a number of rather confusing CAP_SYS_ADMIN checks in various
userns during the mount, especially with the new mount API; they serve
different purposes and in case of clone_private_mnt() they usually,
but not always end up covering the missing check mentioned above.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.4.281, < 4.5 | 4.5 |
| linux/linux_kernel | ≥ 4.9.280, < 4.10 | 4.10 |
| linux/linux_kernel | ≥ 4.14.244, < 4.15 | 4.15 |
| linux/linux_kernel | ≥ 4.19.204, < 4.20 | 4.20 |
| linux/linux_kernel | ≥ 5.4.141, < 5.5 | 5.5 |
| linux/linux_kernel | ≥ 5.10.59, < 5.11 | 5.11 |
| linux/linux_kernel | ≥ 5.13.11, < 5.14 | 5.14 |
| linux/linux_kernel | ≥ 5.14.1, < 5.15.190 | 5.15.190 |
| linux/linux_kernel | ≥ 5.16, < 6.1.147 | 6.1.147 |
| linux/linux_kernel | ≥ 6.2, < 6.6.100 | 6.6.100 |
| linux/linux_kernel | ≥ 6.7, < 6.12.40 | 6.12.40 |
| linux/linux_kernel | ≥ 6.13, < 6.15.3 | 6.15.3 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| debian/debian_linux | all versions | — |