summaryrefslogtreecommitdiff
path: root/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc')
-rw-r--r--chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
index f33aa90c1b0..479d1ed55a3 100644
--- a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -162,6 +162,15 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
}
#endif
+#if defined(__NR_vfork)
+ // vfork() is almost never used as a system call, but some libc versions (e.g.
+ // older versions of bionic) might use it in a posix_spawn() implementation,
+ // which is used by system();
+ if (sysno == __NR_vfork) {
+ return Error(EPERM);
+ }
+#endif
+
if (sysno == __NR_futex)
return RestrictFutex();