diff --git a/.gitignore b/.gitignore index a252eeb..7e47219 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ /udisks-2.7.0.tar.bz2 /udisks-2.7.1.tar.bz2 /udisks-2.7.2.tar.bz2 +/udisks-2.7.3.tar.bz2 +/udisks-2.7.4.tar.bz2 +/udisks-2.7.5.tar.bz2 +/udisks-2.7.6.tar.bz2 diff --git a/0001-Fix-string-format-vulnerability.patch b/0001-Fix-string-format-vulnerability.patch new file mode 100644 index 0000000..3cda298 --- /dev/null +++ b/0001-Fix-string-format-vulnerability.patch @@ -0,0 +1,35 @@ +From 0ffc76e7fa0cb668d3d2daed13f233f3e6e5c624 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kai=20L=C3=BCke?= +Date: Tue, 18 Sep 2018 13:12:14 +0200 +Subject: [PATCH] Fix string format vulnerability + +If the message in g_log_structured itself +contained format sequences like %d or %n they +were applied again, leading to leaked stack contents +and possibly memory corruption. It can be triggered +e.g. by a volume label containing format sequences. + +Print the message argument itself into a "%s" string +to avoid intepreting format sequences. + +https://github.com/storaged-project/udisks/issues/578 +--- + src/udiskslogging.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/udiskslogging.c b/src/udiskslogging.c +index ab49fcbf..47a3af23 100644 +--- a/src/udiskslogging.c ++++ b/src/udiskslogging.c +@@ -60,7 +60,7 @@ udisks_log (UDisksLogLevel level, + + #if GLIB_CHECK_VERSION(2, 50, 0) + g_log_structured ("udisks", (GLogLevelFlags) level, +- "MESSAGE", message, "THREAD_ID", "%d", (gint) syscall (SYS_gettid), ++ "MESSAGE", "%s", message, "THREAD_ID", "%d", (gint) syscall (SYS_gettid), + "CODE_FUNC", function, "CODE_FILE", location); + #else + g_log ("udisks", level, "[%d]: %s [%s, %s()]", (gint) syscall (SYS_gettid), message, location, function); +-- +2.17.1 + diff --git a/sources b/sources index d403470..a1039d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (udisks-2.7.2.tar.bz2) = cfaa234340e9f1dacc50bc455a834d53e27d6f42036951384e3603c374517b049db6e13ebbcf6767cc346d56860e3058a406102872a5c5cbbec9edb39c86c4a1 +SHA512 (udisks-2.7.6.tar.bz2) = 29df238c6648700e8a18659ecb099baf4cdd811540856a5298439a88cffeee40ae8deb2fc312375913333dbe92fbc55131389f958a8b80efd5b2fdb5b3f11ec7 diff --git a/udisks2.spec b/udisks2.spec index 87fca2a..10d6596 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -5,7 +5,7 @@ %global libatasmart_version 0.17 %global dbus_version 1.4.0 %global with_gtk_doc 1 -%global libblockdev_version 2.10 +%global libblockdev_version 2.14 %define is_fedora 0%{?rhel} == 0 %define is_git %(git show > /dev/null 2>&1 && echo 1 || echo 0) @@ -14,12 +14,13 @@ Name: udisks2 Summary: Disk Manager -Version: 2.7.2 -Release: 1%{?dist} +Version: 2.7.6 +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: https://github.com/storaged-project/udisks Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 +Patch0: 0001-Fix-string-format-vulnerability.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -40,6 +41,7 @@ BuildRequires: libblockdev-swap-devel >= %{libblockdev_version} BuildRequires: libblockdev-mdraid-devel >= %{libblockdev_version} BuildRequires: libblockdev-fs-devel >= %{libblockdev_version} BuildRequires: libblockdev-crypto-devel >= %{libblockdev_version} +BuildRequires: libmount-devel Requires: libblockdev >= %{libblockdev_version} Requires: libblockdev-part >= %{libblockdev_version} @@ -70,6 +72,8 @@ Requires: dosfstools Requires: gdisk # For ejecting removable disks Requires: eject +# For utab monitor +Requires: libmount Requires: lib%{name}%{?_isa} = %{version}-%{release} @@ -200,6 +204,7 @@ This package contains module for ZRAM configuration. %prep %setup -q -n udisks-%{version} +%patch0 -p1 %build autoreconf -ivf @@ -234,14 +239,17 @@ chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd %post -n %{name} %systemd_post udisks2.service +%systemd_post clean-mount-point@.service udevadm control --reload udevadm trigger %preun -n %{name} %systemd_preun udisks2.service +%systemd_preun clean-mount-point@.service %postun -n %{name} %systemd_postun_with_restart udisks2.service +%systemd_postun clean-mount-point@.service %post -n lib%{name} -p /sbin/ldconfig @@ -271,12 +279,14 @@ udevadm trigger %{_sysconfdir}/dbus-1/system.d/org.freedesktop.UDisks2.conf %{_datadir}/bash-completion/completions/udisksctl %{_unitdir}/udisks2.service +%{_unitdir}/clean-mount-point@.service %{_udevrulesdir}/80-udisks2.rules %{_sbindir}/umount.udisks2 %dir %{_libdir}/udisks2 %dir %{_libdir}/udisks2/modules +%dir %{_libexecdir}/udisks2 %{_libexecdir}/udisks2/udisksd %{_bindir}/udisksctl @@ -342,6 +352,21 @@ udevadm trigger %endif %changelog +* Wed Sep 26 2018 Vojtech Trefny - 2.7.6-2 +- Fix string format vulnerability + +* Thu Feb 08 2018 Vojtech Trefny - 2.7.6-1 +- Version 2.7.6 + +* Mon Dec 04 2017 Vojtech Trefny - 2.7.5-1 +- Version 2.7.5 + +* Wed Nov 01 2017 Vojtech Trefny - 2.7.4-1 +- Version 2.7.4 + +* Thu Aug 31 2017 Vojtech Trefny - 2.7.3-1 +- Version 2.7.3 + * Thu Aug 03 2017 Vojtech Trefny - 2.7.2-1 - Version 2.7.2