|
Message-ID: <CAHmME9rDC9ObAT=6CJ3h0KQ9ogHsrnDNMnocm5882A2j6OPF6g@mail.gmail.com> Date: Mon, 1 Feb 2021 18:51:45 +0100 From: "Jason A. Donenfeld" <Jason@...c4.com> To: Kernel Hardening <kernel-hardening@...ts.openwall.com>, Andy Lutomirski <luto@...capital.net> Cc: LKML <linux-kernel@...r.kernel.org>, Jann Horn <jann@...jh.net>, Christian Brauner <christian.brauner@...onical.com> Subject: Re: forkat(int pidfd), execveat(int pidfd), other awful things? > int execve_parent(int parent_pidfd, int root_dirfd, int cgroup_fd, int > namespace_fd, const char *pathname, char *const argv[], char *const > envp[]); A variant on the same scheme would be: int execve_remote(int pidfd, int root_dirfd, int cgroup_fd, int namespace_fd, const char *pathname, char *const argv[], char *const envp[]); Unpriv'd process calls fork(), and from that fork sends its pidfd through a unix socket to systemd-sudod, which then calls execve_remote on that pidfd. There are a lot of (potentially very bad) ways to skin this cat.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.