Fixed dec64table OOB read in b64decode

De-fuzzified nsl-fix patch
This commit is contained in:
Jaroslav Škarvada 2018-03-14 09:16:20 +01:00
parent 37b90b260b
commit 807d908882
3 changed files with 26 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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 <jskarvad@redhat.com> - 4.90.1-4
- Fixed dec64table OOB read in b64decode
- De-fuzzified nsl-fix patch
* Fri Feb 16 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 4.90.1-3
- Dropped dynlookup-config patch (merged into config patch)