Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 3 product line. The current stable release is 3.9. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 197672

Summary: CVE-2006-2935 Possible buffer overflow in DVD handling
Product: Red Hat Enterprise Linux 3 Reporter: Marcel Holtmann <holtmann>
Component: kernelAssignee: Chip Coldwell <coldwell>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: coughlan, dhoward, lwang, petrides, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=moderate,source=kernelbugzilla,reported=20060705,public=20060627
Fixed In Version: RHSA-2006-0710 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-19 12:42:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch to fix a typo in drivers/cdrom/cdrom.c none

Description Marcel Holtmann 2006-07-05 13:48:19 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 2 Chip Coldwell 2006-07-07 17:55:22 UTC
Created attachment 132074 [details]
patch to fix a typo in drivers/cdrom/cdrom.c

Comment 8 Ernie Petrides 2006-09-23 01:06:55 UTC
A fix for this problem has just been committed to the RHEL3 U9
patch pool this evening (in kernel version 2.4.21-47.1.EL).


Comment 9 Ernie Petrides 2006-10-13 21:48:52 UTC
A fix for this problem has also been committed to the RHEL3 E9
patch pool this evening (in kernel version 2.4.21-47.0.1.EL).


Comment 12 Red Hat Bugzilla 2006-10-19 12:42:52 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-0710.html