SUSE-SU-2025:20971-1

Source
https://www.suse.com/support/update/announcement/2025/suse-su-202520971-1/
Import Source
https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2025:20971-1.json
JSON Data
https://api.test.osv.dev/v1/vulns/SUSE-SU-2025:20971-1
Upstream
CVE (9)
Related
Published
2025-11-06T11:07:55Z
Modified
2026-03-11T07:30:47Z
Summary
Security update for tiff
Details

This update for tiff fixes the following issues:

  • Update to 4.7.1: Security:

    • CVE-2025-8177: Fixed possible buffer overflow in tools/thumbnail.c:setrow() when processing malformed TIFF files (bsc#1247106)
    • CVE-2025-8176: Fixed heap use-after-free in tools/tiffmedian.c (bsc#1247108)
    • CVE-2024-13978: libtiff: Fixed LibTIFF Null Pointer Dereference (bsc#1247581)
    • CVE-2025-8534: Fixed null pointer dereference in function PS_Lvl2page (bsc#1247582)
    • CVE-2025-8961: Fixed segmentation fault via main function of tiffcrop utility (bsc#1248117)
    • CVE-2025-9165: libtiff: Fixed local execution manipulation leading to memory leak (bsc#1248330)
    • CVE-2025-9900: libtiff: Fixed Write-What-Where via TIFFReadRGBAImageOriented (bsc#1250413) Software configuration changes:
    • Define HAVE_JPEGTURBO_DUAL_MODE_8_12 and LERC_STATIC in tif_config.h.
    • CMake: define WORDS_BIGENDIAN via tif_config.h
    • doc/CMakeLists.txt: remove useless cmake_minimum_required()
    • CMake: fix build with LLVM/Clang 17 (fixes issue #651)
    • CMake: set CMP0074 new policy
    • Set LINKER_LANGUAGE for C targets with C deps
    • Export tiffxx cmake target (fixes issue #674)
    • autogen.sh: Enable verbose wget.
    • configure.ac: Syntax updates for Autoconf 2.71
    • autogen.sh: Re-implement based on autoreconf. Failure to update config.guess/config.sub does not return error (fixes issue #672)
    • CMake: fix CMake 4.0 warning when minimum required version is < 3.10.
    • CMake: Add build option tiff-static (fixes issue #709) Library changes:
    • Add TIFFOpenOptionsSetWarnAboutUnknownTags() for explicit control about emitting warnings for unknown tags. No longer emit warnings about unknown tags by default
    • tif_predict.c: speed-up decompression in some cases. Bug fixes:
    • tif_fax3: For fax group 3 data if no EOL is detected, reading is retried without synchronisation for EOLs. (fixes issue #54)
    • Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE. Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE. Improving handling when field_name = NULL. (fixes issue #532)
    • tiff.h: add COMPRESSION_JXL_DNG_1_7=52546 as used for JPEGXL compression in the DNG 1.7 specification
    • TIFFWriteDirectorySec: Increment string length for ASCII tags for codec tags defined with FIELD_xxx bits, as it is done for FIELD_CUSTOM tags. (fixes issue #648)
    • Do not error out on a tag whose tag count value is zero, just issue a warning. Fix parsing a private tag 0x80a6 (fixes issue #647)
    • TIFFDefaultTransferFunction(): give up beyond td_bitspersample = 24
    • tif_getimage.c: Remove unnecessary calls to TIFFRGBAImageOK() (fixes issue #175)
    • Fix writing a Predictor=3 file with non-native endianness
    • _TIFFVSetField(): fix potential use of unallocated memory (out-of-bounds
    • read / nullptr dereference) in case of out-of-memory situation when dealing with custom tags (fixes issue #663)
    • tif_fax3.c: Error out for CCITT fax encoding if SamplesPerPixel is not equal 1 and PlanarConfiguration = Contiguous (fixes issue #26)
    • tif_fax3.c: error out after a number of times end-of-line or unexpected bad code words have been reached. (fixes issue #670)
    • Fix memory leak in TIFFSetupStrips() (fixes issue #665)
    • tif_zip.c: Provide zlib allocation functions. Otherwise for zlib built with -DZ_SOLO inflating will fail.
    • Fix memory leak in _TIFFSetDefaultCompressionState. (fixes issue #676)
    • tif_predict.c: Don’t overwrite input buffer of TIFFWriteScanline() if "prediction" is enabled. Use extra working buffer in PredictorEncodeRow(). (fixes issue #5)
    • tif_getimage.c: update some integer overflow checks (fixes issue #79)
    • TIFFReadRGBAImage(): several fixes to avoid buffer overflows.
    • Correct passing arguments to TIFFCvtIEEEFloatToNative() and TIFFCvtIEEEDoubleToNative() if HAVE_IEEEFP is not defined. (fixes issue #699)
    • LZWDecode(): avoid nullptr dereference when trying to read again after EOI marker has been found with remaining output bytes (fixes issue #698)
    • TIFFSetSubDirectory(): check _TIFFCheckDirNumberAndOffset() return.
    • TIFFUnlinkDirectory() and TIFFWriteDirectorySec(): clear tif_rawcp when clearing tif_rawdata (fixes issue #711)
    • JPEGEncodeRaw(): error out if a previous scanline failed to be written, to avoid out-of-bounds access (fixes issue #714)
    • tif_jpeg: Fix bug in JPEGDecodeRaw() if JPEG_LIB_MK1_OR_12BIT is defined for 8/12bit dual mode, introduced in libjpeg-turbo 2.2, which was actually released as 3.0. Fixes issue #717
    • add assert for TIFFReadCustomDirectory infoarray check.
    • ppm2tiff: Fix bug in pack_words trailing bytes, where last two bytes of each line were written wrongly. (fixes issue #467)
    • fax2ps: fix regression of commit 28c38d648b64a66c3218778c4745225fe3e3a06d where TIFFTAG_FAXFILLFUNC is being used rather than an output buffer (fixes issue #649)
    • tiff2pdf: Check TIFFTAG_TILELENGTH and TIFFTAGTILEWIDTH (fixes issue #650)
    • tiff2pdf: check h_samp and v_samp for range 1 to 4 to avoid division by zero. Fixes issue #654
    • tiff2pdf: avoid null pointer dereference. (fixes issue #741)
    • Improve non-secure integer overflow check (comparison of division result with multiplicant) at compiler optimisation in tiffcp, rgb2ycbcr and tiff2rgba. Fixes issue #546
    • tiff2rgba: fix some "a partial expression can generate an overflow before it is assigned to a broader type" warnings. (fixes issue #682)
    • tiffdither/tiffmedian: Don't skip the first line of the input image. (fixes issue #703)
    • tiffdither: avoid out-of-bounds read identified in issue #733
    • tiffmedian: error out if TIFFReadScanline() fails (fixes issue #707)
    • tiffmedian: close input file. (fixes issue #735)
    • thumbail: avoid potential out of bounds access (fixes issue #715)
    • tiffcrop: close open TIFF files and release allocated buffers before exiting in case of error to avoid memory leaks. (fixes issue #716)
    • tiffcrop: fix double-free and memory leak exposed by issue #721
    • tiffcrop: avoid buffer overflow. (fixes issue #740)
    • tiffcrop: avoid nullptr dereference. (fixes issue #734)
    • tiffdump: Fix coverity scan issue CID 1373365: Passing tainted expression *datamem to PrintData, which uses it as a divisor or modulus.
    • tiff2ps: check return of TIFFGetFiled() for TIFFTAG_STRIPBYTECOUNTS and TIFFTAG_TILEBYTECOUNTS to avoid NULL pointer dereference. (fixes issue #718)
    • tiffcmp: fix memory leak when second file cannot be opened. (fixes issue #718 and issue #729)
    • tiffcp: fix setting compression level for lossless codecs. (fixes issue #730)
    • raw2tiff: close input file before exit (fixes issue #742) Tools changes:
    • tiffinfo: add a -W switch to warn about unknown tags.
    • tiffdither: process all pages in input TIFF file. Documentation:
    • TIFFRGBAImage.rst note added for incorrect saving of images with TIFF orientation from 5 (LeftTop) to 8 (LeftBottom) in the raster.
    • TIFFRGBAImage.rst note added about un-associated alpha handling (fixes issue #67)
    • Update "Defining New TIFF Tags" description. (fixes issue #642)
    • Fix return type of TIFFReadEncodedTile()
    • Update the documentation to reflect deprecated typedefs.
    • TIFFWriteDirectory.rst: Clarify TIFFSetWriteOffset() only sets offset for image data and not for IFD data.
    • Update documentation on re-entrancy and thread safety.
    • Remove dead links to no more existing Awaresystems web-site.
    • Updating BigTIFF specification and some miscelaneous editions.
    • Replace some last links and remove last todos.
    • Added hints for correct allocation of TIFFYCbCrtoRGB structure and its associated buffers. (fixes issue #681)
    • Added chapter to "Using the TIFF Library" with links to handling multi-page TIFF and custom directories. (fixes issue #43)
    • update TIFFOpen.rst with the return values of mapproc and unmapproc. (fixes issue #12)
  • Fix TIFFMergeFieldInfo() read_count=write_count=0 (bsc#1243503)

  • Add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to fix FTBFS with cmake4

  • Add %check section

  • Remove Group: declarations, no longer used

  • Use python3-Sphinx instead of %{primary_python}-Sphinx based on recommendation from python maintainers.

    • Fixes build issue of man flavor on 15.6
  • Update test/test_directory.c not to fail on big-endian machines (bsc#1236834).

  • Fix versioning of tiff-docs under Recommends

  • Update to 4.7.0:

    • This version restores in the default build the availability of the tools that had been dropped in v4.6.0
    • Software configuration changes:
      • autoconf build: configure.ac: avoid -Werror passed to CFLAGS to interfere with feature detection
      • autoconf build: fix error when running make clean (fixes issue #630)
      • autoconf build: back off the minimum required automake version to 1.11
      • autoconf.ac: fix detection of windows.h for mingw (fixes issue #605)
      • libtiff-4.pc: Fix Requires.private missing Lerc. It provides a .pc file starting from version 4 (in autoconf builds, we assume that liblerc is at least version 4)
      • CMake: Fix TIFF_INCLUDE_DIRS
      • CMake: MinGW compilers don't need a .def file for shared library
      • CMake: move libdeflate and Lerc to Requires.private
      • CMake: enable resource compilation on all Windows.
    • Library changes:
      • Add TIFFOpenOptionsSetMaxCumulatedMemAlloc(). This function complements TIFFOpenOptionsSetMaxSingleMemAlloc() to define the maximum cumulated memory allocations in byte, for a given TIFF handle, that libtiff internal memory allocation functions are allowed.
      • TIFFWriteDirectory(): Avoid overwriting following data if an IFD is enlarged.
      • TIFFXYZToRGB: avoid integer overflow (fixes issue #644)
      • uv_decode() and uv_encode(): avoid potential out-of-bounds array index (fixes issue #645)
      • Fix cases where tif_curdir is set incorrectly. Fix cases where the current directory number (tif_curdir) is set inconsistently or incorrectly, depending on the previous history.
      • TIFFRead[Scanline/EncodedStrip/EncodeTile]: 0-initialize output buffer if setupdecode fails ; most codecs: zero-initialize (not-yet-written parts of) output buffer if failure (fixes issue #375)
      • OJPEG: reset subsampling_convert_state=0 in OJPEGPreDecode (fixes issue #183)
      • ThunderRLE: fix failure when decoding last run. Bug seen with GhostPDL
      • LERC codec: deal with issues with multi-band PlanarConfig=Contig and NaN values
      • tif_fax3.c: error out after a number of times end-of-file has been reached (fixes issue #583)
      • LZW: avoid warning about misaligned address with UBSAN (fixes issue #616)
      • CVE-2023-52356: Fixed segment fault in TIFFReadRGBATileExt() leading to denial of service (bsc#1219213)
      • tif_dirread.c: only issue TIFFGetFileSize() for large enough RAM requests
      • Avoid FPEs (division by zero) in tif_getimage.c.
      • Avoiding FPE (division by zero) for TIFFhowmany_32() and TIFFhowmany_64() macros by checking for denominator not zero before macros are executed. (fixes issue #628)
      • Add non-zero check before division in TIFFComputeStrip()
      • Fix wrong return of TIFFIsBigTIFF() in case byte-swapping is active
      • Setting the TIFFFieldInfo field set_field_type should consider field_writecount not field_readcount
      • Avoid memory leaks when using TIFFCreateDirectory() by releasing the allocated memory in the tif-structure.
      • For non-terminated ASCII arrays, the buffer is first enlarged before a NULL is set at the end to avoid deleting the last character. (fixes issue #579)
      • CVE-2024-7006: Fixed NULL pointer dereference in tif_dirinfo.c (bsc#1228924)
      • Prevent some out-of-memory attacks (fixes issue #614)
      • Ensure absolute seeking is forced independent of TIFFReadDirectory success. (fixes issue #618)
      • tif_dirinfo.c: re-enable TIFFTAG_EP_CFAREPEATPATTERNDIM and TIFFTAG_EP_CFAPATTERN tags (fixes issue #608)
      • Fix warnings with GCC 14
      • tif_dir.c: Log source file, line number, and input tif for directory count error (fixes issue #627)
      • Last usage of get_field_type of TIFFField structure at TIFFWriteDirectorySec() changed to using set_field_type.
      • tif_jpeg.c/tif_ojpeg.c: remove likely ifdef tricks related to old compilers or unusual setups
      • Remove _TIFFUInt64ToFloat() and _TIFFUInt64ToDouble()
      • Remove support for _MSC_VER < 1500.
      • Use #ifdef _WIN32 to test for Windows, and tiffio.h: remove definition of WIN32
    • Documentation:
      • Amend manpages for changes in current directory index behaviour
      • Note on using TIFFFlush() before TIFFClose() to check that the data has been successfully written to the file. (fixes issue #506)
      • Update TIFF documentation about TIFFOpenOptions.rst and TIFFOpenOptionsSetMaxSingleMemAlloc() usage and some other small fixes
    • Re-added tools:
      • fax2ps
      • fax2tiff
      • pal2rgb
      • ppm2tiff
      • raw2tiff
      • rgb2ycbcr (not installed)
      • thumbnail (not installed)
      • tiff2bw
      • tiff2rgba
      • tiffcmp
      • tiffcrop
      • tiffdither
      • tiffgt
      • tiffmedian
      • tiff2ps
      • tiff2pdf
    • New/improved functionality:
      • tiff2rgba: Add background gradient option for alpha compositing
      • tiffcp: -i flag restored
    • Bug fixes for tools:
      • tiffcrop: address Coverity scan issues 1605444, 1605445, and 16054
      • tiffcrop: Apply "Fix heap-buffer-overflow in function extractImageSection"
      • tiffcrop: fix buffer overflows, use after free (fixes issue #542, issue #550, issue #552)
      • tiff2pdf: address Coverity scan issues
      • tiff2pdf: fix inconsistent PLANARCONFIG value for the input and output TIFF
      • tiff2pdf: fix issue with JPEG restart-interval marker when converting from JPEG-compressed files (fixes issue #539)
      • tiff2pdf: red and blue were being swapped for RGBA decoding (fixes issue #253)
      • tiff2pdf: fixes issue #596
      • thumbnail: address Coverity scan issues
      • tiffcp: Add check for limitMalloc return to fix Coverity 1603334
      • tiffcp: preserve TIFFTAG_REFERENCEBLACKWHITE when doing YCbCr JPEG -> YCbCr JPEG
      • tiffcp: replace PHOTOMETRIC_YCBCR with PHOTOMETRIC_RGB when outputing to compression != JPEG (refs issue #571)
      • tiffcp: do not copy tags YCBCRCOEFFICIENTS, YCBCRSUBSAMPLING, YCBCRPOSITIONING, REFERENCEBLACKWHITE. Only set YCBCRSUBSAMPLING when generating YCbCr JPEG
      • tiffcp: Check also codec of input image, not only from output image (fixes issue #606)
      • Add some basic sanity checks for tiffcp and tiffcrop RGB->YCbCr JPEG conversions.
      • fax2ps and fax2tiff: memory leak fixes (fixes issue #476)
      • tiffmedian: memory leak fixes (fixes issue #599)
      • fax2tiff: fix EOFB interpretation (fixes issue #191)
      • fax2tiff: fix issue with unreasonable width input (fixes issue #249)
      • tiffcp and tiffcrop: fixes issue #228
      • tiff2rgba: fixes issue #469
      • tiffdither: fixes issue #473
      • tiffdump: fix wrong printf formatter in error message (Coverity 1472932)
      • tiffset: avoid false positive Coverity Scan warning on 64-bit builds (Coverity 1518997)
      • tifcp/tiffset: use correct format specifiers
    • Changes to contributed and unsupported tools
      • contrib/addtiffo: validate return of TIFFWriteEncodedXXXX() calls (Coverity 1024680)
  • Tools are not built for now due to test failure: FAIL: tiffcp-32bpp-None-jpeg.sh

References

Affected packages

SUSE:Linux Micro 6.1 / tiff

Package

Name
tiff
Purl
pkg:rpm/suse/tiff&distro=SUSE%20Linux%20Micro%206.1

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
4.7.1-slfo.1.1_1.1

Ecosystem specific

{
    "binaries":  [
        {
            "libtiff6":  "4.7.1-slfo.1.1_1.1"
        }
    ]
}

Database specific

source
"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2025:20971-1.json"