summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-09-16 19:54:02 +0200
committerMarius Bakke <marius@gnu.org>2022-09-16 22:41:23 +0200
commitc7966ba3ef63a303f243f5694b58a4d179460516 (patch)
tree1f5ebe2064f682e15de23a5ef6b029be5a72b8f7 /gnu
parentbbc99d0c23989ef183aa6a478ae9b233a991d2a0 (diff)
downloadguix-c7966ba3ef63a303f243f5694b58a4d179460516.tar.gz
gnu: libtiff: Fix CVE-2022-34526.
* gnu/packages/patches/libtiff-CVE-2022-34526.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/image.scm (libtiff)[source](patches): New field.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/image.scm1
-rw-r--r--gnu/packages/patches/libtiff-CVE-2022-34526.patch22
3 files changed, 24 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b09c887c8d..094012316f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1416,6 +1416,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtgvoip-disable-sse2.patch 		\
   %D%/packages/patches/libtgvoip-disable-webrtc.patch 		\
   %D%/packages/patches/libtheora-config-guess.patch		\
+  %D%/packages/patches/libtiff-CVE-2022-34526.patch		\
   %D%/packages/patches/libtirpc-CVE-2021-46828.patch		\
   %D%/packages/patches/libtirpc-hurd.patch			\
   %D%/packages/patches/libtommath-fix-linkage.patch		\
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 0461835a70..f669f97c40 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -575,6 +575,7 @@ extracting icontainer icon files.")
        (method url-fetch)
        (uri (string-append "https://download.osgeo.org/libtiff/tiff-"
                            version ".tar.xz"))
+       (patches (search-patches "libtiff-CVE-2022-34526.patch"))
        (sha256
         (base32
          "1h8xrcpbyf9id2hw2ms0cmpgx0li8gladjzj82ycgk28018pnc29"))))
diff --git a/gnu/packages/patches/libtiff-CVE-2022-34526.patch b/gnu/packages/patches/libtiff-CVE-2022-34526.patch
new file mode 100644
index 0000000000..a5ad9d79a5
--- /dev/null
+++ b/gnu/packages/patches/libtiff-CVE-2022-34526.patch
@@ -0,0 +1,22 @@
+Fix CVE-2022-34526:
+
+  https://nvd.nist.gov/vuln/detail/CVE-2022-34526
+  https://gitlab.com/libtiff/libtiff/-/issues/433
+
+Patch taken from upstream source repository:
+
+  https://gitlab.com/libtiff/libtiff/-/commit/275735d0354e39c0ac1dc3c0db2120d6f31d1990
+
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
+ 	    default:
+ 		return 1;
+ 	}
++	if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) {
++		return 0;
++	}
+ 	/* Check if codec specific tags are allowed for the current
+ 	 * compression scheme (codec) */
+ 	switch (tif->tif_dir.td_compression) {