Hi Christoph,

On Tue, Jul 23, 2019 at 01:13:51AM +0200, Christoph Biedl wrote:
> Hm, let's give this a quick fix as a sound one. My plan is to whitelist
> all the syscalls used by fakeroot. Are you aware of other environments
> that might be caught by the same issue? Or in other words, which
> syscalls were reported as inacceptable in the kernel log?

The blocked syscall is 68 aka msgget. It is an IPC call used by
fakeroot to communicate the faked permissions. I think allowing more
syscalls in the sandbox is a bad idea.

 * You're whitelisting amd64 syscalls now. Other architectures use
   different numbers and hunting them down for each and every
   architecture is painful.
 * fakeroot uses msgget when used with faked-sysv. For use with
   faked-tcp, you will need socket and connect and stuff.
 * Blocking IPC or network was exactly the job of seccomp. If you allow
   these calls, you are significantly weakening the sandbox.
 * Have you tried faketime, fakechroot, eatmydata, ...?

Let me propose a much simpler option: Check for the presence of
LD_PRELOAD and imply -S when it is non-empty.

Helmut

Reply via email to