summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch')
-rw-r--r--meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch b/meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch
new file mode 100644
index 0000000000..59c14e2703
--- /dev/null
+++ b/meta/recipes-multimedia/libtiff/tiff/CVE-2025-8534.patch
@@ -0,0 +1,60 @@
1From 6ba36f159fd396ad11bf6b7874554197736ecc8b Mon Sep 17 00:00:00 2001
2From: Su_Laus <sulau@freenet.de>
3Date: Sat, 2 Aug 2025 18:55:54 +0200
4Subject: [PATCH] tiff2ps: check return of TIFFGetFiled() for
5 TIFFTAG_STRIPBYTECOUNTS and TIFFTAG_TILEBYTECOUNTS to avoid NULL pointer
6 dereference.
7
8Closes #718
9
10CVE: CVE-2025-8534
11Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/-/commit/6ba36f159fd396ad11bf6b7874554197736ecc8b]
12
13Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
14---
15 tools/tiff2ps.c | 20 +++++++++++++++++---
16 1 file changed, 17 insertions(+), 3 deletions(-)
17
18diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
19index a598ede..05a346a 100644
20--- a/tools/tiff2ps.c
21+++ b/tools/tiff2ps.c
22@@ -2193,10 +2193,20 @@ PS_Lvl2page(FILE* fd, TIFF* tif, uint32_t w, uint32_t h)
23 tiled_image = TIFFIsTiled(tif);
24 if (tiled_image) {
25 num_chunks = TIFFNumberOfTiles(tif);
26- TIFFGetField(tif, TIFFTAG_TILEBYTECOUNTS, &bc);
27+ if (!TIFFGetField(tif, TIFFTAG_TILEBYTECOUNTS, &bc))
28+ {
29+ TIFFError(filename,
30+ "Can't read bytecounts of tiles at PS_Lvl2page()");
31+ return (FALSE);
32+ }
33 } else {
34 num_chunks = TIFFNumberOfStrips(tif);
35- TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc);
36+ if (!TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc))
37+ {
38+ TIFFError(filename,
39+ "Can't read bytecounts of strips at PS_Lvl2page()");
40+ return (FALSE);
41+ }
42 }
43
44 if (use_rawdata) {
45@@ -2791,7 +2801,11 @@ PSRawDataBW(FILE* fd, TIFF* tif, uint32_t w, uint32_t h)
46
47 (void) w; (void) h;
48 TIFFGetFieldDefaulted(tif, TIFFTAG_FILLORDER, &fillorder);
49- TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc);
50+ if (!TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc))
51+ {
52+ TIFFError(filename, "Can't read bytecounts of strips at PSRawDataBW()");
53+ return;
54+ }
55
56 /*
57 * Find largest strip:
58--
592.40.0
60