Bug 121229 (CVE-2004-0421)

Summary: CAN-2004-0421 libpng can access out of bounds memory
Product: [Other] Security Response Reporter: Mark J. Cox <mjc>
Component: vulnerabilityAssignee: Matthias Clasen <mclasen>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-05-19 20:32:16 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 Mark J. Cox 2004-04-19 14:35:15 UTC
From: Steve G <linux_4ever>

In the png_format_buffer function located in pngerror.c around
line 133 is the following code:

   if (message == NULL)
      buffer[iout] = 0;
   else
   {
      buffer[iout++] = ':';
      buffer[iout++] = ' ';
      png_memcpy(buffer+iout, message, 64);
      buffer[iout+63] = 0;
   }
                                                                     
          
This code is called from the png_chunk_error & png_chunk_warning
functions. An example of their use would be in pngutil.c around
line 119.
                                                                     
          
 png_chunk_error(png_ptr, "CRC error");
                                                                     
          
In the above code, the message being constructed is only 10
characters long. The png_memcpy function will unconditionally
access 54 bytes beyond the message.

This could cause a carefully crafted png image to cause a denial of
service.

Possibly embargoed; marking as embargoed until communicated otherwise.

Comment 1 Matthias Clasen 2004-04-23 14:14:06 UTC
*** Bug 120508 has been marked as a duplicate of this bug. ***

Comment 2 Mark J. Cox 2004-05-02 10:51:03 UTC
removing embargo

Comment 3 Mark J. Cox 2004-05-19 20:32:16 UTC
An errata 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-2004-180.html