Bug 197670 - CVE-2006-2935 Possible buffer overflow in DVD handling
Summary: CVE-2006-2935 Possible buffer overflow in DVD handling
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel   
(Show other bugs)
Version: 4.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Chip Coldwell
QA Contact: Brian Brock
URL:
Whiteboard: impact=moderate,source=kernelbugzilla...
Keywords: Security
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-07-05 13:23 UTC by Marcel Holtmann
Modified: 2007-11-30 22:07 UTC (History)
2 users (show)

Fixed In Version: RHSA-2006-0617
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-08-22 18:50:35 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)
Proposed patch from Jens Axboe (465 bytes, patch)
2006-07-05 13:25 UTC, Marcel Holtmann
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2006:0617 normal SHIPPED_LIVE Important: kernel security update 2006-08-22 04:00:00 UTC

Description Marcel Holtmann 2006-07-05 13:23:20 UTC
Reported by Marcus Meissner to the Kernel Bugzilla:

http://bugzilla.kernel.org/show_bug.cgi?id=2966

The dvd_read_bca() function in drivers/cdrom/cdrom.c shows a potential buffer
overflow. 
 
The variable buf[4+188] is allocated on the stack, however cgc.cmd[9] and
cgc.buflen are set to 255:

cgc.cmd[9] = cgc.buflen = 0xff;
 
This can be exploited by a custom made USB Storage device and used for local
privilege escalation (aka plug-in this USB device to get root).

This function has been introduced in 2.2.16 (back in 2000) and as of today it
hasn't changed. Jens Axboe confirmed that this is a typo and it should read:

cgc.cmd[9] = cgc.buflen & 0xff;

It is to mask high bits of the length. It doesn't use the high 8 bits for
transfer length, since we are always < 256 for this case.

Comment 1 Marcel Holtmann 2006-07-05 13:25:45 UTC
Created attachment 131920 [details]
Proposed patch from Jens Axboe

Comment 3 Jason Baron 2006-08-07 18:49:47 UTC
committed in stream E5 build 42.0.1. A test kernel with this patch is available
from http://people.redhat.com/~jbaron/rhel4/


Comment 6 Red Hat Bugzilla 2006-08-22 18:50:37 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2006-0617.html


Comment 8 Jason Baron 2006-08-30 17:48:26 UTC
committed in stream U5 build 42.4. A test kernel with this patch is available
from http://people.redhat.com/~jbaron/rhel4/



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