Description of problem -- <cite Hugh Dickins> tmpfs was misconverted to __GFP_ZERO in 2.6.11. There's an unusual case in which shmem_getpage receives the page from its caller instead of allocating. We must cover this case by clear_highpage before SetPageUptodate, as before. </cite> More problem details from CVE description: The shmem_getpage function (mm/shmem.c) in Linux kernel 2.6.11 through 2.6.23 does not properly allocate memory in some circumstances, which might allow local users to read sensitive kernel data or cause a denial of service (crash). Attaching also link to upstream commit -- contains also patch provided from Hugh Dickins (see URL). More details from communication with Hugh: <cite> It's a vulnerability which might allow an attacker to access data from inside the kernel which should have been zeroed - in very limited circumstances I'd prefer not to have to devise and announce. It would also be wrong data, so could for example crash any program rightly relying on uninitialized static data to be zeroed - in the unlikely event that its data was coming via this route (in most setups it never can do, perhaps I'd conclude that's true of all setups). It has escaped notice for nearly three years, so it's not a commonplace. announce. </cite>
(In reply to comment #0) > Description of problem -- <cite Hugh Dickins> > > tmpfs was misconverted to __GFP_ZERO in 2.6.11. There's an unusual case in > which shmem_getpage receives the page from its caller instead of allocating. > We must cover this case by clear_highpage before SetPageUptodate, as before. http://lkml.org/lkml/2007/11/28/249. > It's a vulnerability which might allow an attacker to > access data from inside the kernel which should have been zeroed - > in very limited circumstances I'd prefer not to have to devise and > announce. It would also be wrong data, so could for example crash any program > rightly relying on uninitialized static data to be zeroed - in the > unlikely event that its data was coming via this route (in most setups > it never can do, perhaps I'd conclude that's true of all setups). It > has escaped notice for nearly three years, so it's not a commonplace. > announce. http://lkml.org/lkml/2007/12/12/3
Proposed upstream patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e84e2e132c9c66d8498e7710d4ea532d1feaaac5
Created attachment 313666 [details] Upstream patch for this issue
This was addressed via: Red Hat Enterprise Linux version 5 (RHSA-2008:0885)