Bug 538734 (CVE-2009-4021) - CVE-2009-4021 kernel: fuse: prevent fuse_put_request on invalid pointer
Summary: CVE-2009-4021 kernel: fuse: prevent fuse_put_request on invalid pointer
Status: CLOSED ERRATA
Alias: CVE-2009-4021
Product: Security Response
Classification: Other
Component: vulnerability   
(Show other bugs)
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: impact=important,reported=20091119,pu...
Keywords: Security
Depends On: 538735 538736 538737
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-11-19 09:02 UTC by Eugene Teo (Security Response)
Modified: 2015-02-16 15:53 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-12-21 22:04:09 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0041 normal SHIPPED_LIVE Important: kernel-rt security and bug fix update 2010-01-21 14:10:26 UTC
Red Hat Product Errata RHSA-2010:0046 normal SHIPPED_LIVE Important: kernel security and bug fix update 2010-01-19 23:36:43 UTC

Description Eugene Teo (Security Response) 2009-11-19 09:02:33 UTC
Description of problem:
fuse_direct_io() has a loop where requests are allocated in each iteration. if allocation fails, the loop is broken out and follows into an unconditional fuse_put_request() on that invalid pointer."

Upstream commit:
http://git.kernel.org/linus/f60311d5f7670d9539b424e4ed8b5c0872fc9e83

This can be triggered when the system is low on memory, and when the fuse_request_alloc() function called from fuse_get_req() fails. The fuse_put_request() function will then dereference the invalid pointer returned, resulting in a kernel oops.

This was introduced in 413ef8cb (v2.6.14-rc1) and fixed in v2.6.32-rc7.

Comment 2 Jan Lieskovsky 2009-11-25 16:55:30 UTC
Mitre's CVE-2009-4021 entry:
----------------------------

The fuse_direct_io function in fs/fuse/file.c in the fuse subsystem in
the Linux kernel before 2.6.32-rc7 might allow attackers to cause a
denial of service (invalid pointer dereference and OOPS) via vectors
possibly related to a memory-consumption attack.

Comment 3 errata-xmlrpc 2010-01-19 23:36:53 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2010:0046 https://rhn.redhat.com/errata/RHSA-2010-0046.html

Comment 4 errata-xmlrpc 2010-01-21 14:10:40 UTC
This issue has been addressed in following products:

  MRG for RHEL-5

Via RHSA-2010:0041 https://rhn.redhat.com/errata/RHSA-2010-0041.html


Note You need to log in before you can comment on or make changes to this bug.