Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 13 Nov 2009 11:57:11 +0100
From: Marcus Meissner <meissner@...e.de>
To: oss-security@...ts.openwall.com
Cc: "Steven M. Christey" <coley@...us.mitre.org>
Subject: Re: CVE request: kernel: bad permissions on megaraid_sas sysfs files

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

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.