diff --git a/SPECS/libtiff/CVE-2025-8176.patch b/SPECS/libtiff/CVE-2025-8176.patch new file mode 100644 index 00000000000..cf22d747042 --- /dev/null +++ b/SPECS/libtiff/CVE-2025-8176.patch @@ -0,0 +1,113 @@ +From e986552b6c61c389acd2a571bdb94e4403a0090b Mon Sep 17 00:00:00 2001 +From: Lee Howard +Date: Mon, 19 May 2025 10:53:30 -0700 +Subject: [PATCH 1/3] Don't skip the first line of the input image. Addresses + issue #703 + +--- + archive/tools/tiffdither.c | 4 ++-- + archive/tools/tiffmedian.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/archive/tools/tiffdither.c b/archive/tools/tiffdither.c +index 187a61a..0c86e7f 100644 +--- a/archive/tools/tiffdither.c ++++ b/archive/tools/tiffdither.c +@@ -98,7 +98,7 @@ static int fsdither(TIFF *in, TIFF *out) + nextptr = nextline; + for (j = 0; j < imagewidth; ++j) + *nextptr++ = *inptr++; +- for (i = 1; i < imagelength; ++i) ++ for (i = 0; i < imagelength; ++i) + { + tmpptr = thisline; + thisline = nextline; +@@ -146,7 +146,7 @@ static int fsdither(TIFF *in, TIFF *out) + nextptr[0] += v / 16; + } + } +- if (TIFFWriteScanline(out, outline, i - 1, 0) < 0) ++ if (TIFFWriteScanline(out, outline, i, 0) < 0) + goto skip_on_error; + } + goto exit_label; +diff --git a/archive/tools/tiffmedian.c b/archive/tools/tiffmedian.c +index 334566a..291e73b 100644 +--- a/archive/tools/tiffmedian.c ++++ b/archive/tools/tiffmedian.c +@@ -912,7 +912,7 @@ static void quant_fsdither(TIFF *in, TIFF *out) + outline = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out)); + + GetInputLine(in, 0, goto bad); /* get first line */ +- for (i = 1; i <= imagelength; ++i) ++ for (i = 0; i <= imagelength; ++i) + { + SWAP(short *, thisline, nextline); + lastline = (i >= imax); +@@ -992,7 +992,7 @@ static void quant_fsdither(TIFF *in, TIFF *out) + nextptr += 3; + } + } +- if (TIFFWriteScanline(out, outline, i - 1, 0) < 0) ++ if (TIFFWriteScanline(out, outline, i, 0) < 0) + break; + } + bad: +-- +2.45.4 + + +From 67869e2e1b2fbe18fbc80c8d6e4bfac10b5f666f Mon Sep 17 00:00:00 2001 +From: Lee Howard +Date: Sat, 24 May 2025 21:25:16 -0700 +Subject: [PATCH 2/3] Fix tiffmedian bug #707 + +--- + archive/tools/tiffmedian.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/archive/tools/tiffmedian.c b/archive/tools/tiffmedian.c +index 291e73b..b3b2671 100644 +--- a/archive/tools/tiffmedian.c ++++ b/archive/tools/tiffmedian.c +@@ -410,7 +410,10 @@ static void get_histogram(TIFF *in, Colorbox *box) + for (i = 0; i < imagelength; i++) + { + if (TIFFReadScanline(in, inputline, i, 0) <= 0) +- break; ++ { ++ fprintf(stderr, "Error reading scanline\n"); ++ exit(EXIT_FAILURE); ++ } + inptr = inputline; + for (j = imagewidth; j-- > 0;) + { +-- +2.45.4 + + +From bf00d11609e52387d2e43a9868e0aa92c84b53bb Mon Sep 17 00:00:00 2001 +From: Lee Howard +Date: Sat, 24 May 2025 21:38:09 -0700 +Subject: [PATCH 3/3] conflict resolution + +--- + archive/tools/tiffmedian.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/archive/tools/tiffmedian.c b/archive/tools/tiffmedian.c +index b3b2671..3d5c9ca 100644 +--- a/archive/tools/tiffmedian.c ++++ b/archive/tools/tiffmedian.c +@@ -915,7 +915,7 @@ static void quant_fsdither(TIFF *in, TIFF *out) + outline = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out)); + + GetInputLine(in, 0, goto bad); /* get first line */ +- for (i = 0; i <= imagelength; ++i) ++ for (i = 0; i < imagelength; ++i) + { + SWAP(short *, thisline, nextline); + lastline = (i >= imax); +-- +2.45.4 + diff --git a/SPECS/libtiff/CVE-2025-8177.patch b/SPECS/libtiff/CVE-2025-8177.patch new file mode 100644 index 00000000000..20330f233e5 --- /dev/null +++ b/SPECS/libtiff/CVE-2025-8177.patch @@ -0,0 +1,60 @@ +From b2ef934b79569cfdc2d8f2bef365a90e81bb742c Mon Sep 17 00:00:00 2001 +From: Lee Howard +Date: Thu, 19 Jun 2025 11:51:33 -0700 +Subject: [PATCH 1/2] Fix for thumbnail issue #715 + +--- + archive/tools/thumbnail.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/archive/tools/thumbnail.c b/archive/tools/thumbnail.c +index 8ce0d9b..a94a738 100644 +--- a/archive/tools/thumbnail.c ++++ b/archive/tools/thumbnail.c +@@ -620,7 +620,15 @@ static void setrow(uint8_t *row, uint32_t nrows, const uint8_t *rows[]) + } + acc += bits[*src & mask1]; + } +- *row++ = cmap[(255 * acc) / area]; ++ if (255 * acc / area < 256) ++ { ++ *row++ = cmap[(255 * acc) / area]; ++ } ++ else ++ { ++ fprintf(stderr, "acc=%d, area=%d\n", acc, area); ++ row++; ++ } + } + } + +-- +2.45.4 + + +From 1fa5c6499f16f955f7c4a0a65cebec0b9c8d21f9 Mon Sep 17 00:00:00 2001 +From: Lee Howard +Date: Mon, 23 Jun 2025 10:09:07 -0700 +Subject: [PATCH 2/2] set a default value - assumes cmap[0] was not, itself, + uninitialized + +--- + archive/tools/thumbnail.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/archive/tools/thumbnail.c b/archive/tools/thumbnail.c +index a94a738..237d99e 100644 +--- a/archive/tools/thumbnail.c ++++ b/archive/tools/thumbnail.c +@@ -627,7 +627,7 @@ static void setrow(uint8_t *row, uint32_t nrows, const uint8_t *rows[]) + else + { + fprintf(stderr, "acc=%d, area=%d\n", acc, area); +- row++; ++ *row++ = cmap[0]; + } + } + } +-- +2.45.4 + diff --git a/SPECS/libtiff/libtiff.spec b/SPECS/libtiff/libtiff.spec index 3c52f407f33..21fb9840d17 100644 --- a/SPECS/libtiff/libtiff.spec +++ b/SPECS/libtiff/libtiff.spec @@ -1,7 +1,7 @@ Summary: TIFF libraries and associated utilities. Name: libtiff Version: 4.6.0 -Release: 6%{?dist} +Release: 7%{?dist} License: libtiff Vendor: Microsoft Corporation Distribution: Mariner @@ -13,6 +13,8 @@ Patch1: CVE-2024-7006.patch Patch2: CVE-2023-6277.patch Patch3: CVE-2023-3164.patch Patch4: CVE-2023-6228.patch +Patch5: CVE-2025-8177.patch +Patch6: CVE-2025-8176.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libjpeg-turbo-devel @@ -65,6 +67,9 @@ make %{?_smp_mflags} -k check %{_docdir}/* %changelog +* Thu Jul 31 2025 Azure Linux Security Servicing Account - 4.6.0-7 +- Patch for CVE-2025-8177, CVE-2025-8176 + * Tue Mar 18 2025 Jyoti Kanase - 4.6.0-6 - Fix CVE-2023-6228