Bug 166856

Summary: CAN-2005-2495 multiple integer overflows
Product: Red Hat Enterprise Linux 4 Reporter: Josh Bressers <bressers>
Component: xorg-x11Assignee: Søren Sandmann Pedersen <sandmann>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 4.0CC: kem, security-response-team, xgl-maint
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=important,reported=20050819,public=20050912,source=redhat
Fixed In Version: RHSA-2005-396 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-09-13 17:06:30 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:

Description Josh Bressers 2005-08-26 14:49:19 UTC
https://bugs.freedesktop.org/show_bug.cgi?id=594

What is going on here is that an X client is trying to allocate a pixmap
of size 9GB. Because of
an integer overflow this is not caught and instead a pixmap of size 1GB
is allocated. When the
client then tries to access the pixmap we get a server crash.

This seems exploitable to me: a client could allocate a pixmap of size
4GB + 4byte, causing
the server to allocate just 4 bytes. Then the client could use
XDrawPoint() and XGetImage() to
read and write any location in the X server address space. It could
first use XGetImage to search
for the stack, then use XDrawPoint to rewrite it to return into another
pixmap the client allocated,
thus getting the X server to execute arbitrary code.


This issue was discovered by Luke Hutchison, with the security implications and
patch found by Soeren Sandmann.

Comment 1 Josh Bressers 2005-09-13 16:35:07 UTC
Lifting embargo

Comment 2 Red Hat Bugzilla 2005-09-13 17:06:31 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-2005-396.html