Mon Jun 6 11:46:04 2016 UTC ()
Updated GraphicsMagick to 1.3.24.

1.3.24 (May 30, 2016)
==========================

.. _`GCC bug 53967` : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53967

Special Issues:

* A shell exploit (CVE-2016-5118) was discovered associated with a
  filename syntax where file names starting with '|' are intepreted as
  shell commands executed via popen().  Insufficient sanitization in
  the SVG and MVG renderers allows such filenames to be passed through
  from potentially untrusted files.  There might be other ways for
  untrusted inputs to produce such filenames.  Due to this issue,
  support for the feature is removed entirely.

* A shell exploit was discovered associated with the gnuplot delegate
  and which is triggered by the 'gplt' entry in delegates.mgk.  A
  remote exploit is possible if the attacker can cause a provided SVG
  or MVG file to be rendered (or the user opens a provided file).  The
  gnuplot program must be installed in order for the exploit to be
  successful.  It is strongly recommended to remove this entry in all
  delegates.mgk files.

* Due to `GCC bug 53967`_, several key agorithms (e.g. convolution)
  may execute much faster (e.g. 2-3X) for x86-64 and/or when SSE is
  enabled for floating point math (`-mfpmath=sse`) if the GCC option
  `-frename-registers` is used. Default 32-bit builds do not
  experience the problem since they use '387 math.  It is not clear in
  what version of GCC this problem started but it was not noticed by
  the developers until the GCC 4.6 timeframe.  Other compilers do not
  suffer from this bug.  Please lobby the GCC project to fix this
  embarrassing performance bug.

Security Fixes:

* BLOB: Remove support for reading input from a shell command, or
  writing output to a shell command, by prefixing the specified
  filename (containing the command) with a '|'.  This feature provided
  a remote shell execution opportunity.

* DIB: Fixed out of bounds reads.  Added more header validations.

* JNG: File size limits are enforced.

* MAT: Fixed denial of service opportunity.  Fix hang on corrupt deflate stream.

* META: Fixed out of bounds reads and writes.

* MIFF: Fixed thrown assertion.

* MSL: Ignore the file extension on MSL files.  It is necessary to add
  a "msl:" prefix to MSL files to read the as an image.

* MVG: No longer assume that files ending with extension ".mvg" are
  MVG files.  MVG parsing does more validity checking on its input.
  Assure that enough PrimitiveInfo structures are allocated in advance
  to support a given vector path (heap overflow problem).

* PCX: Fixed unreasonable memory allocation due to intentionally
  corrupt file.

* PDB: Fixed a heap buffer overflow and out of bounds read.

* PICT: Fixed an out of bounds write.

* PS: Ghostscript is now always run with -dSAFER for safer execution.

* PSD: Fixed segmentation violations, heap buffer overflows, and out
  of bounds writes.

* RLE: Fixed out of bounds reads and writes.

* ReadImages(): Fixed a possible infinite recursion due to a crafted input file.

* RotateImage(): Fixed thrown assertion.

* SGI: Fixed out of bounds writes.

* SUN: Fixed out of bounds reads and writes.

* SVG: Fixed heap and stack buffer overflows, as well as segmentation
  violations (CVE-2016-2317 and CVE-2016-2318).  Also fixed endless
  loop, unexpectedly large memory allocation, divide by zero, and
  recursion issues.

* TIFF: Fixed an assertion while reading.  Fixed benign heap overflow.

* TMP: Adding a "tmp:" prefix to a filename no longer removes the file
  since this seems dangerous.

* VIFF: Fix excessive memory allocation with intentionally corrupted input file.

* XCF: Fixed a heap buffer overflow.

* XPM: Fixed several heap buffer overflows, and out of bound
  reads/writes.  Also fixed a case of excessive memory allocation.

* delegate.mgk: The default delegate.mgk file has been pared down in
  order to reduce security exposure.

* gnuplot ('gplt' delegate in delegates.mgk): Support for rendering
  gnuplot files is removed since the format is inherently insecure.

* File names: File names starting with a '|' character are no longer
  interpreted as shell commands to be executed as input or output.

Bug fixes:

* BMP: Fix reading 24-bit Microsoft BMP which claims to have a
  colormap.

* FILE: `file://` URLs are properly supported now (they never worked
  before).

* JP2: It is now possible to write lossless JPEG 2000 "JP2" format.

* SVG: Support font-size "medium".

New Features:

* Blob I/O C APIs: Added signed versions of short and long Read/Write
  functions.

* FILE: `file://` URLs are properly supported now (they never worked
  before).

* MAT: Matlab V4 is now partially supported.

* Magick++: Added double-precision xResolution() and yResolution()
  methods to support setting the horizontal and vertical resolution
  with double floating point precision.

* Mogrify now supports a -preserve-timestamp option to preserve file
  access and modification timestamps.

Feature improvements:

Windows Delegate Updates/Additions:

* Updated bundled libpng to release 1.6.19.

* Updated bundled libwebp to release 0.4.4.

* Update bundled libxml2 to release 2.9.3.

* Update bundled freetype to release 2.6.2.

Build Changes:

* Added ``--enable-broken-coders`` configure option to enable file
  format support which may be broken or cause security issues.  The
  PSD format is now classified as "broken" (until it is fixed).

Behavior Changes:

* PSD format is not included in the build by default.

* Files ending with ".mvg" and ".msl" are not assumed to be image
  files by default.

* File names starting with '|' are no longer treated as shell
  commands.

* Gnuplot and POV delegate support is removed from the default
  delegate.mgk file.


(wiz)
diff -r1.75 -r1.76 pkgsrc/graphics/GraphicsMagick/Makefile
diff -r1.13 -r1.14 pkgsrc/graphics/GraphicsMagick/Makefile.common
diff -r1.22 -r1.23 pkgsrc/graphics/GraphicsMagick/PLIST
diff -r1.40 -r1.41 pkgsrc/graphics/GraphicsMagick/distinfo

cvs diff -r1.75 -r1.76 pkgsrc/graphics/GraphicsMagick/Makefile (expand / switch to unified diff)

--- pkgsrc/graphics/GraphicsMagick/Makefile 2016/03/05 11:27:47 1.75
+++ pkgsrc/graphics/GraphicsMagick/Makefile 2016/06/06 11:46:04 1.76
@@ -1,16 +1,15 @@ @@ -1,16 +1,15 @@
1# $NetBSD: Makefile,v 1.75 2016/03/05 11:27:47 jperkin Exp $ 1# $NetBSD: Makefile,v 1.76 2016/06/06 11:46:04 wiz Exp $
2 2
3PKGREVISION= 3 
4.include "Makefile.common" 3.include "Makefile.common"
5 4
6MAINTAINER= pkgsrc-users@NetBSD.org 5MAINTAINER= pkgsrc-users@NetBSD.org
7HOMEPAGE= http://www.graphicsmagick.org/ 6HOMEPAGE= http://www.graphicsmagick.org/
8COMMENT= X application for displaying and manipulating images 7COMMENT= X application for displaying and manipulating images
9LICENSE= mit 8LICENSE= mit
10 9
11DEPENDS+= urw-fonts-[0-9]*:../../fonts/urw-fonts 10DEPENDS+= urw-fonts-[0-9]*:../../fonts/urw-fonts
12 11
13USE_LANGUAGES= c c++ 12USE_LANGUAGES= c c++
14USE_LIBTOOL= yes 13USE_LIBTOOL= yes
15USE_TOOLS+= gmake pkg-config gs:run 14USE_TOOLS+= gmake pkg-config gs:run
16USE_FEATURES= vsnprintf # optional but recommended for security 15USE_FEATURES= vsnprintf # optional but recommended for security

cvs diff -r1.13 -r1.14 pkgsrc/graphics/GraphicsMagick/Makefile.common (expand / switch to unified diff)

--- pkgsrc/graphics/GraphicsMagick/Makefile.common 2015/11/17 20:05:48 1.13
+++ pkgsrc/graphics/GraphicsMagick/Makefile.common 2016/06/06 11:46:04 1.14
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile.common,v 1.13 2015/11/17 20:05:48 adam Exp $ 1# $NetBSD: Makefile.common,v 1.14 2016/06/06 11:46:04 wiz Exp $
2# used by graphics/GraphicsMagick/Makefile 2# used by graphics/GraphicsMagick/Makefile
3# used by graphics/p5-GraphicsMagick/Makefile 3# used by graphics/p5-GraphicsMagick/Makefile
4 4
5GM_MAJOR_VER= 1.3 5GM_MAJOR_VER= 1.3
6GM_MINOR_VER= 23 6GM_MINOR_VER= 24
7DISTVERSION= ${GM_MAJOR_VER}.${GM_MINOR_VER} 7DISTVERSION= ${GM_MAJOR_VER}.${GM_MINOR_VER}
8DISTNAME= GraphicsMagick-${DISTVERSION} 8DISTNAME= GraphicsMagick-${DISTVERSION}
9CATEGORIES= graphics 9CATEGORIES= graphics
10MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=graphicsmagick/} \ 10MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=graphicsmagick/} \
11 ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/${GM_MAJOR_VER}/ 11 ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/${GM_MAJOR_VER}/
12EXTRACT_SUFX= .tar.xz 12EXTRACT_SUFX= .tar.xz
13 13
14DISTINFO_FILE= ${.CURDIR}/../../graphics/GraphicsMagick/distinfo 14DISTINFO_FILE= ${.CURDIR}/../../graphics/GraphicsMagick/distinfo
15#FILESDIR= ${.CURDIR}/../../graphics/GraphicsMagick/files 15#FILESDIR= ${.CURDIR}/../../graphics/GraphicsMagick/files
16PATCHDIR= ${.CURDIR}/../../graphics/GraphicsMagick/patches 16PATCHDIR= ${.CURDIR}/../../graphics/GraphicsMagick/patches

cvs diff -r1.22 -r1.23 pkgsrc/graphics/GraphicsMagick/PLIST (expand / switch to unified diff)

--- pkgsrc/graphics/GraphicsMagick/PLIST 2015/12/13 07:13:36 1.22
+++ pkgsrc/graphics/GraphicsMagick/PLIST 2016/06/06 11:46:04 1.23
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.22 2015/12/13 07:13:36 richard Exp $ 1@comment $NetBSD: PLIST,v 1.23 2016/06/06 11:46:04 wiz Exp $
2bin/GraphicsMagick++-config 2bin/GraphicsMagick++-config
3bin/GraphicsMagick-config 3bin/GraphicsMagick-config
4bin/GraphicsMagickWand-config 4bin/GraphicsMagickWand-config
5bin/gm 5bin/gm
6include/GraphicsMagick/Magick++.h 6include/GraphicsMagick/Magick++.h
7include/GraphicsMagick/Magick++/Blob.h 7include/GraphicsMagick/Magick++/Blob.h
8include/GraphicsMagick/Magick++/CoderInfo.h 8include/GraphicsMagick/Magick++/CoderInfo.h
9include/GraphicsMagick/Magick++/Color.h 9include/GraphicsMagick/Magick++/Color.h
10include/GraphicsMagick/Magick++/Drawable.h 10include/GraphicsMagick/Magick++/Drawable.h
11include/GraphicsMagick/Magick++/Exception.h 11include/GraphicsMagick/Magick++/Exception.h
12include/GraphicsMagick/Magick++/Geometry.h 12include/GraphicsMagick/Magick++/Geometry.h
13include/GraphicsMagick/Magick++/Image.h 13include/GraphicsMagick/Magick++/Image.h
14include/GraphicsMagick/Magick++/Include.h 14include/GraphicsMagick/Magick++/Include.h
@@ -141,27 +141,26 @@ lib/${PKGNAME}/modules-Q8/coders/pcd.la @@ -141,27 +141,26 @@ lib/${PKGNAME}/modules-Q8/coders/pcd.la
141lib/${PKGNAME}/modules-Q8/coders/pcl.la 141lib/${PKGNAME}/modules-Q8/coders/pcl.la
142lib/${PKGNAME}/modules-Q8/coders/pcx.la 142lib/${PKGNAME}/modules-Q8/coders/pcx.la
143lib/${PKGNAME}/modules-Q8/coders/pdb.la 143lib/${PKGNAME}/modules-Q8/coders/pdb.la
144lib/${PKGNAME}/modules-Q8/coders/pdf.la 144lib/${PKGNAME}/modules-Q8/coders/pdf.la
145lib/${PKGNAME}/modules-Q8/coders/pict.la 145lib/${PKGNAME}/modules-Q8/coders/pict.la
146lib/${PKGNAME}/modules-Q8/coders/pix.la 146lib/${PKGNAME}/modules-Q8/coders/pix.la
147lib/${PKGNAME}/modules-Q8/coders/plasma.la 147lib/${PKGNAME}/modules-Q8/coders/plasma.la
148lib/${PKGNAME}/modules-Q8/coders/png.la 148lib/${PKGNAME}/modules-Q8/coders/png.la
149lib/${PKGNAME}/modules-Q8/coders/pnm.la 149lib/${PKGNAME}/modules-Q8/coders/pnm.la
150lib/${PKGNAME}/modules-Q8/coders/preview.la 150lib/${PKGNAME}/modules-Q8/coders/preview.la
151lib/${PKGNAME}/modules-Q8/coders/ps.la 151lib/${PKGNAME}/modules-Q8/coders/ps.la
152lib/${PKGNAME}/modules-Q8/coders/ps2.la 152lib/${PKGNAME}/modules-Q8/coders/ps2.la
153lib/${PKGNAME}/modules-Q8/coders/ps3.la 153lib/${PKGNAME}/modules-Q8/coders/ps3.la
154lib/${PKGNAME}/modules-Q8/coders/psd.la 
155lib/${PKGNAME}/modules-Q8/coders/pwp.la 154lib/${PKGNAME}/modules-Q8/coders/pwp.la
156lib/${PKGNAME}/modules-Q8/coders/rgb.la 155lib/${PKGNAME}/modules-Q8/coders/rgb.la
157lib/${PKGNAME}/modules-Q8/coders/rla.la 156lib/${PKGNAME}/modules-Q8/coders/rla.la
158lib/${PKGNAME}/modules-Q8/coders/rle.la 157lib/${PKGNAME}/modules-Q8/coders/rle.la
159lib/${PKGNAME}/modules-Q8/coders/sct.la 158lib/${PKGNAME}/modules-Q8/coders/sct.la
160lib/${PKGNAME}/modules-Q8/coders/sfw.la 159lib/${PKGNAME}/modules-Q8/coders/sfw.la
161lib/${PKGNAME}/modules-Q8/coders/sgi.la 160lib/${PKGNAME}/modules-Q8/coders/sgi.la
162lib/${PKGNAME}/modules-Q8/coders/stegano.la 161lib/${PKGNAME}/modules-Q8/coders/stegano.la
163lib/${PKGNAME}/modules-Q8/coders/sun.la 162lib/${PKGNAME}/modules-Q8/coders/sun.la
164lib/${PKGNAME}/modules-Q8/coders/svg.la 163lib/${PKGNAME}/modules-Q8/coders/svg.la
165lib/${PKGNAME}/modules-Q8/coders/tga.la 164lib/${PKGNAME}/modules-Q8/coders/tga.la
166lib/${PKGNAME}/modules-Q8/coders/tiff.la 165lib/${PKGNAME}/modules-Q8/coders/tiff.la
167lib/${PKGNAME}/modules-Q8/coders/tile.la 166lib/${PKGNAME}/modules-Q8/coders/tile.la
@@ -206,42 +205,45 @@ share/doc/GraphicsMagick/ChangeLog @@ -206,42 +205,45 @@ share/doc/GraphicsMagick/ChangeLog
206share/doc/GraphicsMagick/ChangeLog.2001 205share/doc/GraphicsMagick/ChangeLog.2001
207share/doc/GraphicsMagick/ChangeLog.2002 206share/doc/GraphicsMagick/ChangeLog.2002
208share/doc/GraphicsMagick/ChangeLog.2003 207share/doc/GraphicsMagick/ChangeLog.2003
209share/doc/GraphicsMagick/ChangeLog.2004 208share/doc/GraphicsMagick/ChangeLog.2004
210share/doc/GraphicsMagick/ChangeLog.2005 209share/doc/GraphicsMagick/ChangeLog.2005
211share/doc/GraphicsMagick/ChangeLog.2006 210share/doc/GraphicsMagick/ChangeLog.2006
212share/doc/GraphicsMagick/ChangeLog.2007 211share/doc/GraphicsMagick/ChangeLog.2007
213share/doc/GraphicsMagick/ChangeLog.2008 212share/doc/GraphicsMagick/ChangeLog.2008
214share/doc/GraphicsMagick/ChangeLog.2009 213share/doc/GraphicsMagick/ChangeLog.2009
215share/doc/GraphicsMagick/ChangeLog.2010 214share/doc/GraphicsMagick/ChangeLog.2010
216share/doc/GraphicsMagick/ChangeLog.2011 215share/doc/GraphicsMagick/ChangeLog.2011
217share/doc/GraphicsMagick/ChangeLog.2012 216share/doc/GraphicsMagick/ChangeLog.2012
218share/doc/GraphicsMagick/ChangeLog.2013 217share/doc/GraphicsMagick/ChangeLog.2013
 218share/doc/GraphicsMagick/ChangeLog.2014
 219share/doc/GraphicsMagick/ChangeLog.2015
219share/doc/GraphicsMagick/Copyright.txt 220share/doc/GraphicsMagick/Copyright.txt
220share/doc/GraphicsMagick/NEWS.txt 221share/doc/GraphicsMagick/NEWS.txt
221share/doc/GraphicsMagick/www/ChangeLog-2001.html 222share/doc/GraphicsMagick/www/ChangeLog-2001.html
222share/doc/GraphicsMagick/www/ChangeLog-2002.html 223share/doc/GraphicsMagick/www/ChangeLog-2002.html
223share/doc/GraphicsMagick/www/ChangeLog-2003.html 224share/doc/GraphicsMagick/www/ChangeLog-2003.html
224share/doc/GraphicsMagick/www/ChangeLog-2004.html 225share/doc/GraphicsMagick/www/ChangeLog-2004.html
225share/doc/GraphicsMagick/www/ChangeLog-2005.html 226share/doc/GraphicsMagick/www/ChangeLog-2005.html
226share/doc/GraphicsMagick/www/ChangeLog-2006.html 227share/doc/GraphicsMagick/www/ChangeLog-2006.html
227share/doc/GraphicsMagick/www/ChangeLog-2007.html 228share/doc/GraphicsMagick/www/ChangeLog-2007.html
228share/doc/GraphicsMagick/www/ChangeLog-2008.html 229share/doc/GraphicsMagick/www/ChangeLog-2008.html
229share/doc/GraphicsMagick/www/ChangeLog-2009.html 230share/doc/GraphicsMagick/www/ChangeLog-2009.html
230share/doc/GraphicsMagick/www/ChangeLog-2010.html 231share/doc/GraphicsMagick/www/ChangeLog-2010.html
231share/doc/GraphicsMagick/www/ChangeLog-2011.html 232share/doc/GraphicsMagick/www/ChangeLog-2011.html
232share/doc/GraphicsMagick/www/ChangeLog-2012.html 233share/doc/GraphicsMagick/www/ChangeLog-2012.html
233share/doc/GraphicsMagick/www/ChangeLog-2013.html 234share/doc/GraphicsMagick/www/ChangeLog-2013.html
234share/doc/GraphicsMagick/www/ChangeLog-2014.html 235share/doc/GraphicsMagick/www/ChangeLog-2014.html
 236share/doc/GraphicsMagick/www/ChangeLog-2015.html
235share/doc/GraphicsMagick/www/Changelog.html 237share/doc/GraphicsMagick/www/Changelog.html
236share/doc/GraphicsMagick/www/Changes.html 238share/doc/GraphicsMagick/www/Changes.html
237share/doc/GraphicsMagick/www/Copyright.html 239share/doc/GraphicsMagick/www/Copyright.html
238share/doc/GraphicsMagick/www/FAQ.html 240share/doc/GraphicsMagick/www/FAQ.html
239share/doc/GraphicsMagick/www/GraphicsMagick.html 241share/doc/GraphicsMagick/www/GraphicsMagick.html
240share/doc/GraphicsMagick/www/Hg.html 242share/doc/GraphicsMagick/www/Hg.html
241share/doc/GraphicsMagick/www/INSTALL-unix.html 243share/doc/GraphicsMagick/www/INSTALL-unix.html
242share/doc/GraphicsMagick/www/INSTALL-windows.html 244share/doc/GraphicsMagick/www/INSTALL-windows.html
243share/doc/GraphicsMagick/www/ImageMagickObject.html 245share/doc/GraphicsMagick/www/ImageMagickObject.html
244share/doc/GraphicsMagick/www/Magick++/Blob.html 246share/doc/GraphicsMagick/www/Magick++/Blob.html
245share/doc/GraphicsMagick/www/Magick++/Cache.png 247share/doc/GraphicsMagick/www/Magick++/Cache.png
246share/doc/GraphicsMagick/www/Magick++/ChangeLog.html 248share/doc/GraphicsMagick/www/Magick++/ChangeLog.html
247share/doc/GraphicsMagick/www/Magick++/CoderInfo.html 249share/doc/GraphicsMagick/www/Magick++/CoderInfo.html

cvs diff -r1.40 -r1.41 pkgsrc/graphics/GraphicsMagick/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/GraphicsMagick/distinfo 2015/11/17 20:05:48 1.40
+++ pkgsrc/graphics/GraphicsMagick/distinfo 2016/06/06 11:46:04 1.41
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
1$NetBSD: distinfo,v 1.40 2015/11/17 20:05:48 adam Exp $ 1$NetBSD: distinfo,v 1.41 2016/06/06 11:46:04 wiz Exp $
2 2
3SHA1 (GraphicsMagick-1.3.23.tar.xz) = 9075a6030d305d675847cbd6755c0c2318623854 3SHA1 (GraphicsMagick-1.3.24.tar.xz) = 4f208b7bda9f139ca22d9921758452bb9915334e
4RMD160 (GraphicsMagick-1.3.23.tar.xz) = 50d880e54156fa293a7a4d7c5ff8df55f622a6cc 4RMD160 (GraphicsMagick-1.3.24.tar.xz) = 1670b2d5712cdff2010d2936ad427977195bfaa2
5SHA512 (GraphicsMagick-1.3.23.tar.xz) = 40f0a2d96ea568cc6e52ae0003c2ad393b2cffc6eabb85db78cb22af00eafec3fa1e64ebb26eed4a271f7a54c35c3b985e99a3d0b404fd025f4dba156856c99a 5SHA512 (GraphicsMagick-1.3.24.tar.xz) = d55f8b7d96bc746e2b501ec6315f174f2ab5f6b31a1d138196bf17b506e6d0c2b91ee19f5dd0a2877cd47910aebdcf11158303e90b1b267c6082d462f8548684
6Size (GraphicsMagick-1.3.23.tar.xz) = 5355200 bytes 6Size (GraphicsMagick-1.3.24.tar.xz) = 5372048 bytes
 7SHA1 (patch-config_delegates.mgk.in) = c7a38daeeccd12e19480d1222e400899da1d4153