Fix CVE-2011-3026
This commit is contained in:
		
							parent
							
								
									c220705aba
								
							
						
					
					
						commit
						403f53232d
					
				
							
								
								
									
										27
									
								
								libpng-cve-2011-3026-15.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								libpng-cve-2011-3026-15.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| Patch for CVE-2011-3026 in libpng 1.4 and up, from John Bowler. | ||||
| 
 | ||||
| 
 | ||||
| diff -Naur libpng-1.5.8.orig/pngrutil.c libpng-1.5.8/pngrutil.c
 | ||||
| --- libpng-1.5.8.orig/pngrutil.c	2012-02-01 00:00:34.000000000 -0500
 | ||||
| +++ libpng-1.5.8/pngrutil.c	2012-02-16 13:26:51.627339765 -0500
 | ||||
| @@ -432,15 +432,18 @@
 | ||||
|        /* Now check the limits on this chunk - if the limit fails the | ||||
|         * compressed data will be removed, the prefix will remain. | ||||
|         */ | ||||
| +      if (prefix_size >= (~(png_size_t)0) - 1 ||
 | ||||
| +         expanded_size >= (~(png_size_t)0) - 1 - prefix_size
 | ||||
|  #ifdef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED | ||||
| -      if (png_ptr->user_chunk_malloc_max &&
 | ||||
| +         || (png_ptr->user_chunk_malloc_max &&
 | ||||
|            (prefix_size + expanded_size >= png_ptr->user_chunk_malloc_max - 1)) | ||||
|  #else | ||||
|  #  ifdef PNG_USER_CHUNK_MALLOC_MAX | ||||
| -      if ((PNG_USER_CHUNK_MALLOC_MAX > 0) &&
 | ||||
| +         || ((PNG_USER_CHUNK_MALLOC_MAX > 0) &&
 | ||||
|            prefix_size + expanded_size >= PNG_USER_CHUNK_MALLOC_MAX - 1) | ||||
|  #  endif | ||||
|  #endif | ||||
| +         )
 | ||||
|           png_warning(png_ptr, "Exceeded size limit while expanding chunk"); | ||||
|   | ||||
|        /* If the size is zero either there was an error and a message | ||||
							
								
								
									
										24
									
								
								libpng-cve-2011-3026.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								libpng-cve-2011-3026.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| Original Chromium patch for CVE-2011-3026. | ||||
| 
 | ||||
| 
 | ||||
| diff -Naur libpng-1.2.46.orig/pngrutil.c libpng-1.2.46/pngrutil.c
 | ||||
| --- libpng-1.2.46.orig/pngrutil.c	2011-07-09 06:30:23.000000000 -0400
 | ||||
| +++ libpng-1.2.46/pngrutil.c	2012-02-16 10:28:14.433079740 -0500
 | ||||
| @@ -363,8 +363,15 @@
 | ||||
|        { | ||||
|           /* Success (maybe) - really uncompress the chunk. */ | ||||
|           png_size_t new_size = 0; | ||||
| -         png_charp text = png_malloc_warn(png_ptr,
 | ||||
| -                        prefix_size + expanded_size + 1);
 | ||||
| +         png_charp text = NULL;
 | ||||
| +         /* Need to check for both truncation (64-bit platforms) and integer
 | ||||
| +          * overflow.
 | ||||
| +          */
 | ||||
| +         if (prefix_size + expanded_size > prefix_size &&
 | ||||
| +             prefix_size + expanded_size < 0xffffffffU)
 | ||||
| +         {
 | ||||
| +            text = png_malloc_warn(png_ptr, prefix_size + expanded_size + 1);
 | ||||
| +         }
 | ||||
|   | ||||
|           if (text != NULL) | ||||
|           { | ||||
							
								
								
									
										12
									
								
								libpng.spec
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								libpng.spec
									
									
									
									
									
								
							| @ -2,7 +2,7 @@ Summary: A library of functions for manipulating PNG image format files | ||||
| Name: libpng | ||||
| Epoch: 2 | ||||
| Version: 1.5.8 | ||||
| Release: 1%{?dist} | ||||
| Release: 2%{?dist} | ||||
| License: zlib | ||||
| Group: System Environment/Libraries | ||||
| URL: http://www.libpng.org/pub/png/ | ||||
| @ -21,6 +21,8 @@ Source0: ftp://ftp.simplesystems.org/pub/png/src/libpng-%{version}.tar.bz2 | ||||
| Source1: ftp://ftp.simplesystems.org/pub/png/src/libpng-%{prevversion}.tar.bz2 | ||||
| 
 | ||||
| Patch0: libpng-multilib.patch | ||||
| Patch1: libpng-cve-2011-3026-15.patch | ||||
| Patch2: libpng-cve-2011-3026.patch | ||||
| 
 | ||||
| Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root | ||||
| BuildRequires: zlib-devel, pkgconfig | ||||
| @ -73,9 +75,13 @@ This package contains shared libraries (only) for libpng 1.2.x. | ||||
| %setup -q | ||||
| 
 | ||||
| %patch0 -p1 | ||||
| %patch1 -p1 | ||||
| 
 | ||||
| tar xfj %{SOURCE1} | ||||
| 
 | ||||
| # patch the compat package: -p0 is intentional here | ||||
| %patch2 -p0 | ||||
| 
 | ||||
| %build | ||||
| %configure | ||||
| make %{?_smp_mflags} | ||||
| @ -140,6 +146,10 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la | ||||
| rm -rf $RPM_BUILD_ROOT | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Feb 16 2012 Tom Lane <tgl@redhat.com> 2:1.5.8-2 | ||||
| - Fix CVE-2011-3026 | ||||
| Resolves: #791183 | ||||
| 
 | ||||
| * Fri Feb  3 2012 Tom Lane <tgl@redhat.com> 2:1.5.8-1 | ||||
| - Update to libpng 1.5.8, for minor security issue (CVE-2011-3464) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user