From 1e3f0626ab98193f2d5afb66931f28e29882a544 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 1 Sep 2018 15:43:57 -0400 Subject: [PATCH] drivers/poke: Only allow root() to open. This allows applications to theoretically open() the poke device but then change their uid/euid to something more restrictive. The mem device is not even this permissive; but I can think of some scenarios in which this might be useful. --- src/add-ons/kernel/drivers/misc/poke.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/add-ons/kernel/drivers/misc/poke.cpp b/src/add-ons/kernel/drivers/misc/poke.cpp index 6024679aa6..62f8172942 100644 --- a/src/add-ons/kernel/drivers/misc/poke.cpp +++ b/src/add-ons/kernel/drivers/misc/poke.cpp @@ -98,6 +98,9 @@ poke_open(const char* name, uint32 flags, void** cookie) { *cookie = NULL; + if (getuid() != 0 && geteuid() != 0) + return EPERM; + if (atomic_add(&open_count, 1) != 0) { atomic_add(&open_count, -1); return B_BUSY;