diff -Nru svgsalamander-0~svn95/debian/changelog svgsalamander-0~svn95/debian/changelog --- svgsalamander-0~svn95/debian/changelog 2011-05-10 20:36:09.000000000 +0000 +++ svgsalamander-0~svn95/debian/changelog 2017-02-06 15:38:48.000000000 +0000 @@ -1,3 +1,17 @@ +svgsalamander (0~svn95-1+deb8u1build0.16.04.1) xenial-security; urgency=medium + + * fake sync from Debian + + -- Tyler Hicks Mon, 06 Feb 2017 15:38:48 +0000 + +svgsalamander (0~svn95-1+deb8u1) jessie-security; urgency=high + + * Team upload. + * Add patch by Vincent Privat to fix CVE-2017-5617 (SSRF). + (closes: #853134) + + -- Bas Couwenberg Fri, 03 Feb 2017 09:03:52 +0100 + svgsalamander (0~svn95-1) unstable; urgency=low * Initial release (Closes: #613293) diff -Nru svgsalamander-0~svn95/debian/patches/0007-CVE-2017-5617-Allow-only-data-scheme.patch svgsalamander-0~svn95/debian/patches/0007-CVE-2017-5617-Allow-only-data-scheme.patch --- svgsalamander-0~svn95/debian/patches/0007-CVE-2017-5617-Allow-only-data-scheme.patch 1970-01-01 00:00:00.000000000 +0000 +++ svgsalamander-0~svn95/debian/patches/0007-CVE-2017-5617-Allow-only-data-scheme.patch 2017-02-03 09:46:12.000000000 +0000 @@ -0,0 +1,98 @@ +Description: Fix CVE-2017-5617: svgSalamander SSRF (Server-Side Request Forgery) + See: http://www.openwall.com/lists/oss-security/2017/01/27/3 +Author: Vincent Privat +Origin: https://josm.openstreetmap.de/changeset/11526/josm +Bug: https://github.com/blackears/svgSalamander/issues/11 +Bug-Debian: https://bugs.debian.org/853134 + +--- a/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java ++++ b/svg-core/src/main/java/com/kitfox/svg/ImageSVG.java +@@ -80,21 +80,11 @@ public class ImageSVG extends Renderable + if (getPres(sty.setName("xlink:href"))) + { + URI src = sty.getURIValue(getXMLBase()); ++ // CVE-2017-5617: Allow only data scheme + if ("data".equals(src.getScheme())) + { + imageSrc = new URL(null, src.toASCIIString(), new Handler()); + } +- else +- { +- try { +- imageSrc = src.toURL(); +- } +- catch (Exception e) +- { +- e.printStackTrace(); +- imageSrc = null; +- } +- } + } + } + catch (Exception e) +@@ -102,27 +92,30 @@ public class ImageSVG extends Renderable + throw new SVGException(e); + } + +- diagram.getUniverse().registerImage(imageSrc); +- +- //Set widths if not set +- BufferedImage img = diagram.getUniverse().getImage(imageSrc); +- if (img == null) ++ if (imageSrc != null) + { ++ diagram.getUniverse().registerImage(imageSrc); ++ ++ //Set widths if not set ++ BufferedImage img = diagram.getUniverse().getImage(imageSrc); ++ if (img == null) ++ { ++ xform = new AffineTransform(); ++ bounds = new Rectangle2D.Float(); ++ return; ++ } ++ ++ if (width == 0) width = img.getWidth(); ++ if (height == 0) height = img.getHeight(); ++ ++ //Determine image xform + xform = new AffineTransform(); +- bounds = new Rectangle2D.Float(); +- return; ++ // xform.setToScale(this.width / img.getWidth(), this.height / img.getHeight()); ++ // xform.translate(this.x, this.y); ++ xform.translate(this.x, this.y); ++ xform.scale(this.width / img.getWidth(), this.height / img.getHeight()); + } + +- if (width == 0) width = img.getWidth(); +- if (height == 0) height = img.getHeight(); +- +- //Determine image xform +- xform = new AffineTransform(); +-// xform.setToScale(this.width / img.getWidth(), this.height / img.getHeight()); +-// xform.translate(this.x, this.y); +- xform.translate(this.x, this.y); +- xform.scale(this.width / img.getWidth(), this.height / img.getHeight()); +- + bounds = new Rectangle2D.Float(this.x, this.y, this.width, this.height); + } + +@@ -254,9 +247,15 @@ public class ImageSVG extends Renderable + if (getPres(sty.setName("xlink:href"))) + { + URI src = sty.getURIValue(getXMLBase()); +- URL newVal = src.toURL(); ++ ++ URL newVal = null; ++ // CVE-2017-5617: Allow only data scheme ++ if ("data".equals(src.getScheme())) ++ { ++ newVal = new URL(null, src.toASCIIString(), new Handler()); ++ } + +- if (!newVal.equals(imageSrc)) ++ if (newVal != null && !newVal.equals(imageSrc)) + { + imageSrc = newVal; + shapeChange = true; diff -Nru svgsalamander-0~svn95/debian/patches/series svgsalamander-0~svn95/debian/patches/series --- svgsalamander-0~svn95/debian/patches/series 2011-05-09 18:54:16.000000000 +0000 +++ svgsalamander-0~svn95/debian/patches/series 2017-02-03 09:46:12.000000000 +0000 @@ -2,3 +2,4 @@ 0002-Disable-useless-automated-jar-signing.patch 0003-Modify-javadoc-target-to-add-links-to-system-API-doc.patch 0004-Use-system-awt-gradient-instead-of-the-embedded-bati.patch +0007-CVE-2017-5617-Allow-only-data-scheme.patch