[PATCH] Prevent unpriv user from reading the message buffer
Matthias Schmidt
schmidtm at mathematik.uni-marburg.de
Thu Sep 29 09:50:07 PDT 2005
Moin,
I ported the security.bsd.unprivileged_read_msgbuf from FreeBSD. This
sysctl prevents unprivileged users from reading the message buffer. A
nice feature especially for machines with lot of shell users :)
With kern.unprivileged_read_msgbuf=1 (default)
% dmesg
Copyright (c) 2003, 2004, 2005 The DragonFly Project.
[...]
With kern.unprivileged_read_msgbuf=0
% dmesg
dmesg: sysctl kern.msgbuf: Operation not permitted
I added the sysctl now under kern, but I think a sysctl named security
would be a good idea for such options?!
Greets
Matthias
diff -urN sys.orig/kern/subr_prf.c sys/kern/subr_prf.c
--- sys.orig/kern/subr_prf.c 2004-09-13 18:22:36.000000000 +0200
+++ sys/kern/subr_prf.c 2005-09-29 17:11:13.000000000 +0200
@@ -867,12 +867,23 @@
oldp = msgbufp;
}
+static int unprivileged_read_msgbuf = 1;
+SYSCTL_INT(_kern, OID_AUTO, unprivileged_read_msgbuf,
+ CTLFLAG_RW, &unprivileged_read_msgbuf, 0,
+ "Unprivileged processes may read the kernel message buffer");
+
/* Sysctls for accessing/clearing the msgbuf */
static int
sysctl_kern_msgbuf(SYSCTL_HANDLER_ARGS)
{
int error;
+ if (!unprivileged_read_msgbuf) {
+ error = suser(req->td);
+ if (error)
+ return (error);
+ }
+
/*
* Unwind the buffer, so that it's linear (possibly starting with
* some initial nulls).
More information about the Submit
mailing list