oss-sec mailing list archives

Re: CVE request: kernel: bad permissions on megaraid_sas sysfs files


From: Marcus Meissner <meissner () suse de>
Date: Fri, 13 Nov 2009 11:57:11 +0100

On Fri, Nov 13, 2009 at 02:39:24PM +0800, Eugene Teo wrote:
The megaraid_sas driver exposes a number of driver attributes in sysfs. 
Many of these are read-only, just export information from the driver and 
are world-readable.

A couple of attributes are writable and may be used to change the 
behaviour of the driver (e.g. setting debug logging levels, selecting 
poll vs. interrupt I/O mode etc).

Some of these writable attributes are mistakenly created with 
world-writable permissions, e.g. dbg_lvl and poll_mode_io.

This would allow an unprivileged user to affect kernel driver behaviour 
and logging level.

Upstream made the dbd_lvl permissions more restrictive:
http://git.kernel.org/linus/66dca9b8c50b5e59d3bea8b21cee5c6dae6c9c46

The poll_mode_io pseudofile still has world-writable permissions 
upstream. I'm getting my colleague to submit a patch.

https://bugzilla.redhat.com/show_bug.cgi?id=526068

It seems you can set poll_mode_io multiple times to the full integer range,
(like to 1 , 2 , 3 etc.) and it will reinitialize its timers everytime
via init_timer() and add_timer().

This will corrupt the timer chain (I think) by setting entry.next = NULL
in init_timer().

It should only accept a boolean value. :/

Ciao, Marcus


Current thread: