Message ID | 20110111235417.GN4979@outflux.net |
---|---|
State | Accepted |
Delegated to: | Tim Gardner |
Headers | show |
On 01/11/2011 05:54 PM, Kees Cook wrote: > Making /proc/kallsyms readable only for root makes it harder > for attackers to write generic kernel exploits by removing > one source of knowledge where things are in the kernel. > > This is the second submit, discussion happened on this on first submit > and mostly concerned that this is just one hole of the sieve ... but > one of the bigger ones. > > Changing the permissions of at least System.map and vmlinux is > also required to fix the same set, but a packaging issue. > > Target of this starter patch and follow ups is removing any kind of > kernel space address information leak from the kernel. > > Ciao, Marcus > > [not upstream because some old sysklog daemons have a bug with this] > > OriginalAuthor: Marcus Meissner<meissner@suse.de> > > Signed-off-by: Marcus Meissner<meissner@suse.de> > Acked-by: Tejun Heo<tj@kernel.org> > Acked-by: Eugene Teo<eugeneteo@kernel.org> > Reviewed-by: Jesper Juhl<jj@chaosbits.net> > Signed-off-by: Kees Cook<kees.cook@canonical.com> > --- > kernel/kallsyms.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c > index 6f6d091..a8db257 100644 > --- a/kernel/kallsyms.c > +++ b/kernel/kallsyms.c > @@ -546,7 +546,7 @@ static const struct file_operations kallsyms_operations = { > > static int __init kallsyms_init(void) > { > - proc_create("kallsyms", 0444, NULL,&kallsyms_operations); > + proc_create("kallsyms", 0400, NULL,&kallsyms_operations); > return 0; > } > device_initcall(kallsyms_init); Applied to Natty. I assume this was not intended for Maverick ?
On Wed, Jan 12, 2011 at 02:55:38PM -0600, Tim Gardner wrote:
> Applied to Natty. I assume this was not intended for Maverick ?
Right, yeah. Thanks!
-Kees
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 6f6d091..a8db257 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -546,7 +546,7 @@ static const struct file_operations kallsyms_operations = { static int __init kallsyms_init(void) { - proc_create("kallsyms", 0444, NULL, &kallsyms_operations); + proc_create("kallsyms", 0400, NULL, &kallsyms_operations); return 0; } device_initcall(kallsyms_init);