From b593c1f95b63d5fad516685c2a22cb209b716269 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Mon, 28 Apr 2025 18:22:32 +0300 Subject: [PATCH] xz: Capsicum sandbox: Fix incorrect use of cap_rights_clear() cap_rights_clear() with no additional arguments acts as a no-op, so instead of removing all capability rights from STDIN_FILENO, the same rights were allowed for STDIN_FILENO as were allowed for src_fd. Co-authored-by: Guillaume Outters Fixes: fd56d5353360 ("xz: Make Capsicum sandbox more strict with stdin and stdout.") (The commit message says "stdout". It should have said "stderr".) (based on commit 5cc2e479eb447a444f5ab005fc36b7f275c75eb5) --- src/xz/file_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xz/file_io.c b/src/xz/file_io.c index 78fbdf72..f09498da 100644 --- a/src/xz/file_io.c +++ b/src/xz/file_io.c @@ -201,7 +201,7 @@ io_sandbox_enter(int src_fd) // If not reading from stdin, remove all capabilities from it. if (src_fd != STDIN_FILENO && cap_rights_limit( - STDIN_FILENO, cap_rights_clear(&rights))) + STDIN_FILENO, cap_rights_init(&rights))) goto error; if (cap_rights_limit(STDOUT_FILENO, cap_rights_init(&rights,