[PATCH v5 5/5] capabilities: don't let ptrace borrow CAP_SETFCAP
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Fri Oct 23 16:47:51 UTC 2026
> Tasks in a user namespace created by a task with CAP_SETFCAP may map uid
> 0 of the parent and write file capabilities that are honoured there.
> That is the one privilege they keep outside of their namespace. setns()
> no longer lets anybody in who doesn't have it, but the ptrace checks
> don't know about it: for a target in another user namespace
> cap_ptrace_access_check() is satisfied with CAP_SYS_PTRACE over the
> target's namespace, which the owner rule hands to any task with the
> right euid.
>
> task A: uid 0, full caps task B: uid 0, no CAP_SETFCAP
> unshare(CLONE_NEWUSER)
> ptrace(PTRACE_ATTACH, A)
> uids match, euid == ns->owner
> make A write "0 0 1" to its uid_map,
> or set file capabilities
> [ ... ]
> tracer can't setns() into either. PTRACE_MODE_READ is unchanged.
>
> Fixes: db2e718a4798 ("capabilities: require CAP_SETFCAP to map uid 0")
> Assisted-by: LLM
> Signed-off-by: Josef Bacik <josef at toxicpanda.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261023-b4-setfcap-userns-v5-0-0620223be951@toxicpanda.com?part=5
More information about the Linux-security-module-archive
mailing list