Backport fix for CVE-2026-12912 to compat-libtiff3 (libtiff 3.9.4). Two upstream commits were cherry-picked and adapted to the 3.9.4 API to fix a heap-buffer-overflow in PixarLogDecode when handling 8BITABGR data with stride 3. The first patch adds a bounds check and fixes the output pointer advance, and the second extends the bounds check to handle multi-row strip decoding. CVE: CVE-2026-12912 Upstream patches: -ba2b04b114.patch -f9bda11bf2.patch Resolves: RHEL-189375 This commit was backported by Ymir, a Red Hat Enterprise Linux software maintenance AI agent. Assisted-by: Ymir
161 lines
4.4 KiB
RPMSpec
161 lines
4.4 KiB
RPMSpec
Summary: Compatibility package for libtiff 3
|
|
Name: compat-libtiff3
|
|
Version: 3.9.4
|
|
Release: 16%{?dist}
|
|
|
|
License: libtiff
|
|
Group: System Environment/Libraries
|
|
URL: http://www.remotesensing.org/libtiff/
|
|
|
|
Source: ftp://ftp.remotesensing.org/pub/libtiff/tiff-%{version}.tar.gz
|
|
Patch1: libtiff-acversion.patch
|
|
Patch2: libtiff-mantypo.patch
|
|
Patch3: libtiff-scanlinesize.patch
|
|
Patch4: libtiff-getimage-64bit.patch
|
|
Patch5: libtiff-ycbcr-clamp.patch
|
|
Patch6: libtiff-3samples.patch
|
|
Patch7: libtiff-subsampling.patch
|
|
Patch8: libtiff-unknown-fix.patch
|
|
Patch9: libtiff-checkbytecount.patch
|
|
Patch10: libtiff-tiffdump.patch
|
|
Patch11: libtiff-CVE-2011-0192.patch
|
|
Patch12: libtiff-CVE-2011-1167.patch
|
|
Patch13: libtiff-CVE-2009-5022.patch
|
|
Patch14: libtiff-CVE-2012-1173.patch
|
|
Patch15: libtiff-CVE-2012-2088.patch
|
|
Patch16: libtiff-CVE-2012-2113.patch
|
|
Patch17: libtiff-CVE-2012-3401.patch
|
|
Patch18: libtiff-CVE-2012-4447.patch
|
|
Patch19: libtiff-CVE-2012-4564.patch
|
|
Patch20: libtiff-CVE-2012-5581.patch
|
|
Patch21: libtiff-tiffinfo-exif.patch
|
|
Patch22: libtiff-printdir-width.patch
|
|
Patch27: libtiff-CVE-2013-1960.patch
|
|
Patch28: libtiff-CVE-2013-1961.patch
|
|
Patch29: libtiff-CVE-2013-4231.patch
|
|
Patch30: libtiff-CVE-2013-4232.patch
|
|
Patch31: libtiff-CVE-2013-4244.patch
|
|
Patch32: libtiff-CVE-2013-4243.patch
|
|
Patch33: libtiff-CVE-2018-7456.patch
|
|
Patch34: libtiff-coverity.patch
|
|
# from upstream, for <= 4.7.0, RHEL-112528
|
|
# https://gitlab.com/libtiff/libtiff/-/merge_requests/732.patch
|
|
Patch35: libtiff-3.9.4-CVE-2025-9900.patch
|
|
# from upstream, for <= 4.7.1, RHEL-159315
|
|
# https://gitlab.com/libtiff/libtiff/-/commit/782a11d6b5b61c6dc21e714950a4af5bf89f023c
|
|
Patch36: libtiff-CVE-2026-4775.patch
|
|
# from upstream, RHEL-189375
|
|
# https://gitlab.com/libtiff/libtiff/-/commit/ba2b04b114c5dd945107ccc613cedfcca3af73bb
|
|
# https://gitlab.com/libtiff/libtiff/-/commit/f9bda11bf2fc819b971517582666d56f18b1bc3f
|
|
Patch37: libtiff-CVE-2026-12912.patch
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|
BuildRequires: zlib-devel libjpeg-devel
|
|
BuildRequires: libtool automake autoconf
|
|
|
|
%global LIBVER %(echo %{version} | cut -f 1-2 -d .)
|
|
|
|
%description
|
|
The libtiff3 package provides libtiff 3, an older version of libtiff
|
|
library for manipulating TIFF (Tagged Image File Format)
|
|
image format files. This version should be used only if you are unable
|
|
to use the current version of libtiff.
|
|
|
|
%prep
|
|
%setup -q -n tiff-%{version}
|
|
|
|
%patch -P 1 -p1
|
|
%patch -P 2 -p1
|
|
%patch -P 3 -p1
|
|
%patch -P 4 -p1
|
|
%patch -P 5 -p1
|
|
%patch -P 6 -p1
|
|
%patch -P 7 -p1
|
|
%patch -P 8 -p1
|
|
%patch -P 9 -p1
|
|
%patch -P 10 -p1
|
|
%patch -P 11 -p1
|
|
%patch -P 12 -p1
|
|
%patch -P 13 -p1
|
|
%patch -P 14 -p1
|
|
%patch -P 15 -p1
|
|
%patch -P 16 -p1
|
|
%patch -P 17 -p1
|
|
%patch -P 18 -p1
|
|
%patch -P 19 -p1
|
|
%patch -P 20 -p1
|
|
%patch -P 21 -p1
|
|
%patch -P 22 -p1
|
|
%patch -P 27 -p1
|
|
%patch -P 28 -p1
|
|
%patch -P 29 -p1
|
|
%patch -P 30 -p1
|
|
%patch -P 31 -p1
|
|
%patch -P 32 -p1
|
|
%patch -P 33 -p1
|
|
%patch -P 34 -p1
|
|
%patch -P 35 -p1 -b .CVE-2025-9900
|
|
%patch -P 36 -p1 -b .CVE-2026-4775
|
|
%patch -P 37 -p1 -b .CVE-2026-12912
|
|
|
|
# Use build system's libtool.m4, not the one in the package.
|
|
rm -f libtool.m4
|
|
|
|
libtoolize --force --copy
|
|
aclocal -I . -I m4
|
|
automake --add-missing --copy
|
|
autoconf
|
|
autoheader
|
|
|
|
%build
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|
%configure
|
|
make %{?_smp_mflags}
|
|
|
|
LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH make check
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
|
|
# remove what we didn't want installed
|
|
rm $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
rm $RPM_BUILD_ROOT%{_libdir}/*.a
|
|
rm $RPM_BUILD_ROOT%{_libdir}/{libtiff,libtiffxx}.so
|
|
|
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/*
|
|
rm -rf $RPM_BUILD_ROOT%{_bindir}/*
|
|
rm -rf $RPM_BUILD_ROOT%{_includedir}/*
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
%defattr(-,root,root,0755)
|
|
%{_libdir}/libtiff.so.*
|
|
%{_libdir}/libtiffxx.so.*
|
|
|
|
%changelog
|
|
* Sat Jun 27 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 3.9.4-16
|
|
- fix CVE-2026-12912: heap-buffer-overflow in PixarLog ABGR decoding
|
|
(RHEL-189375)
|
|
|
|
* Wed Apr 22 2026 Michal Hlavinka <mhlavink@redhat.com> - 3.9.4-15
|
|
- fix CVE-2026-4775: signed integer overflow in putcontig8bitYCbCr44tile (RHEL-159315)
|
|
|
|
* Thu Sep 25 2025 Michal Hlavinka <mhlavink@redhat.com> - 3.9.4-14
|
|
- fix CVE-2025-9900: Write-What-Where via TIFFReadRGBAImageOriented (RHEL-112528)
|
|
|
|
* Wed Jun 12 2019 Nikola Forró <nforro@redhat.com> - 3.9.4-13
|
|
- Fix important Covscan defects
|
|
related: #1687584
|
|
|
|
* Thu Jun 06 2019 Nikola Forró <nforro@redhat.com> - 3.9.4-12
|
|
- New package for RHEL 8.1.0
|
|
resolves: #1687584
|