summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) {