From 807d9088826cc4236ecd83cad2b5fa580960257f Mon Sep 17 00:00:00 2001 From: Jaroslav Škarvada Date: Mar 14 2018 08:16:20 +0000 Subject: Fixed dec64table OOB read in b64decode De-fuzzified nsl-fix patch --- diff --git a/exim-4.90.1-dec64table-read-fix.patch b/exim-4.90.1-dec64table-read-fix.patch new file mode 100644 index 0000000..d13bd50 --- /dev/null +++ b/exim-4.90.1-dec64table-read-fix.patch @@ -0,0 +1,16 @@ +diff --git a/src/base64.c b/src/src/base64.c +index dbbd6a4..e63522e 100644 +--- a/src/base64.c ++++ b/src/base64.c +@@ -173,7 +173,7 @@ while ((x = *code++) != 0) + + while (isspace(y = *code++)) ; + /* debug_printf("b64d: '%c'\n", y); */ +- if (y == 0 || (y = dec64table[y]) == 255) ++ if (y > 127 || (y = dec64table[y]) == 255) + return -1; + + *result++ = (x << 2) | (y >> 4); +-- +1.9.1 + diff --git a/exim-4.90.1-nsl-fix.patch b/exim-4.90.1-nsl-fix.patch index ab85a7c..bb02954 100644 --- a/exim-4.90.1-nsl-fix.patch +++ b/exim-4.90.1-nsl-fix.patch @@ -1,8 +1,8 @@ diff --git a/src/EDITME b/src/EDITME -index ad06440..513a212 100644 +index be31066..e48dd93 100644 --- a/src/EDITME +++ b/src/EDITME -@@ -319,6 +319,9 @@ LOOKUP_MYSQL=2 +@@ -316,6 +316,9 @@ LOOKUP_MYSQL=2 LOOKUP_MYSQL_PC=mariadb LOOKUP_NIS=yes LOOKUP_NISPLUS=yes diff --git a/exim.spec b/exim.spec index 9d4571f..b2031d8 100644 --- a/exim.spec +++ b/exim.spec @@ -14,7 +14,7 @@ Summary: The exim mail transfer agent Name: exim Version: 4.90.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Url: http://www.exim.org/ Group: System Environment/Daemons @@ -62,6 +62,8 @@ Patch26: exim-4.85-pic.patch Patch27: exim-4.90.1-environment.patch # Workaround for NIS removal from glibc, bug 1534920 Patch33: exim-4.90.1-nsl-fix.patch +# Backported from upstream +Patch34: exim-4.90.1-dec64table-read-fix.patch Requires: /etc/pki/tls/certs /etc/pki/tls/private Requires: /etc/aliases @@ -211,6 +213,7 @@ greylisting unconditional. %patch26 -p1 -b .fpic %patch27 -p1 -b .environment %patch33 -p1 -b .nsl-fix +%patch34 -p1 -b .dec64table-read-fix cp src/EDITME Local/Makefile sed -i 's@^# LOOKUP_MODULE_DIR=.*@LOOKUP_MODULE_DIR=%{_libdir}/exim/%{version}-%{release}/lookups@' Local/Makefile @@ -588,6 +591,10 @@ test "$1" = 0 || %{_initrddir}/clamd.exim condrestart >/dev/null 2>&1 || : %{_sysconfdir}/cron.daily/greylist-tidy.sh %changelog +* Wed Mar 14 2018 Jaroslav Škarvada - 4.90.1-4 +- Fixed dec64table OOB read in b64decode +- De-fuzzified nsl-fix patch + * Fri Feb 16 2018 Jaroslav Škarvada - 4.90.1-3 - Dropped dynlookup-config patch (merged into config patch)