From 8a56ada4daf510e44d5cefb6a1f6ef2237ebbabb Mon Sep 17 00:00:00 2001 From: Kurt Jaeger Date: Sun, 24 May 2020 12:59:01 +0000 Subject: [PATCH] mail/qmail: Fixes CVE-2005-1513 to CVE-2005-1513, update TLS patch mail/qmail-tls: Update TLS patch See https://www.qualys.com/2020/05/19/cve-2005-1513/remote-code-execution-qmail.txt for details about the CVEs - now builds with openssl 1.1.1e from the ports PR: 244969, 245010 Submitted by: erdgeist@erdgeist.org (maintainer) Reported by: klokanek@eldar.cz MFH: 2020Q2 Security: CVE-2005-1513, CVE-2005-1514, CVE-2005-1515 --- mail/qmail-mysql/Makefile | 2 +- mail/qmail-tls/Makefile | 4 ++-- mail/qmail/Makefile | 6 +----- mail/qmail/distinfo | 6 +++--- mail/qmail/files/patch-alloc.c | 19 +++++++++++++++++++ mail/qmail/files/qmailsend.in | 4 ++-- 6 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 mail/qmail/files/patch-alloc.c diff --git a/mail/qmail-mysql/Makefile b/mail/qmail-mysql/Makefile index 2267a33e2b2b..c748b545d697 100644 --- a/mail/qmail-mysql/Makefile +++ b/mail/qmail-mysql/Makefile @@ -3,7 +3,7 @@ PORTNAME= qmail PORTVERSION= ${QMAIL_VERSION}.${MYSQL_PATCH_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail PKGNAMESUFFIX= -mysql diff --git a/mail/qmail-tls/Makefile b/mail/qmail-tls/Makefile index f22907acda76..c99816a83657 100644 --- a/mail/qmail-tls/Makefile +++ b/mail/qmail-tls/Makefile @@ -3,7 +3,7 @@ PORTNAME= qmail PORTVERSION= ${QMAIL_VERSION}.${TLS_PATCH_DATE} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= mail PKGNAMESUFFIX= -tls @@ -13,7 +13,7 @@ CONFLICTS= *qmail-[0-9]* qmail-ldap-[0-9]* *qmail-mysql-[0-9]* qmail-spamcontrol SLAVE_TLS= yes -TLS_PATCH_DATE= 20160918 +TLS_PATCH_DATE= 20200107 USES= ssl diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index 8d3bcce3c2e6..3f8d796a2975 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -3,7 +3,7 @@ PORTNAME= ${QMAIL_PORTNAME} PORTVERSION?= ${QMAIL_VERSION} -PORTREVISION?= 4 +PORTREVISION?= 5 CATEGORIES= mail MASTER_SITES+= QMAIL DISTNAME= ${PORTNAME}-${QMAIL_VERSION} @@ -384,10 +384,6 @@ NO_PREFIX_RMDIR=yes .include -.if defined(SLAVE_TLS) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200000 -EXTRA_PATCHES+= ${FILESDIR}/netqmail-1.06-tls-20160918-freebsd-12.patch -.endif - .if ${ARCH} == "amd64" && !defined(SLAVE_LDAP) \ && !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-amd64 diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo index 66cee22359c0..d41836e633d5 100644 --- a/mail/qmail/distinfo +++ b/mail/qmail/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1485784051 +TIMESTAMP = 1584978462 SHA256 (qmail/qmail-1.03.tar.gz) = 21ed6c562cbb55092a66197c35c8222b84115d1acab0854fdb1ad1f301626f88 SIZE (qmail/qmail-1.03.tar.gz) = 220668 SHA256 (qmail/netqmail-1.06.tar.gz) = 8e7d98d15211fc9f9c28109e942e2268f42a6672d68df92a42f2afa90ff00532 @@ -47,8 +47,8 @@ SHA256 (qmail/netqmail-mysql-1.1.15.patch) = 656d2366c1b4749f0ffdaf68b30f10d469c SIZE (qmail/netqmail-mysql-1.1.15.patch) = 61635 SHA256 (qmail/spamcontrol-2731.tgz) = 24a9c0af8f405ae6bcc4038fd1fc1ea12d5e5c54642e105fd9f0790593128b71 SIZE (qmail/spamcontrol-2731.tgz) = 179422 -SHA256 (qmail/netqmail-1.06-tls-20160918.patch) = f41d4cca8c9603bfcdbd97d46654f49ad736d8d2f43032305096da80cc7e876a -SIZE (qmail/netqmail-1.06-tls-20160918.patch) = 50082 +SHA256 (qmail/netqmail-1.06-tls-20200107.patch) = 4230ffe10d58f9ded8f28f0d226e1cb1fa4e21321f7e8584388c52c4dd0f83b3 +SIZE (qmail/netqmail-1.06-tls-20200107.patch) = 52188 SHA256 (qmail/qmail-smtpd-auth-0.31.tar.gz) = 1b439fa7e128de13fa80b86883f61a39d17b87b7e8916b6a0eab065bbe49b938 SIZE (qmail/qmail-smtpd-auth-0.31.tar.gz) = 8798 SHA256 (qmail/qmail-smtpd-auth-close3.patch) = d933e871261d6740cebe5c21cad81146525cfe06a464e277979f61c1242b5ad4 diff --git a/mail/qmail/files/patch-alloc.c b/mail/qmail/files/patch-alloc.c new file mode 100644 index 000000000000..de741aa96bc5 --- /dev/null +++ b/mail/qmail/files/patch-alloc.c @@ -0,0 +1,19 @@ +diff -r -u a/alloc.c b/alloc.c +--- alloc.c 1998-06-15 03:53:16.000000000 -0700 ++++ alloc.c 2020-05-04 16:43:32.923310325 -0700 +@@ -1,3 +1,4 @@ ++#include + #include "alloc.h" + #include "error.h" + extern char *malloc(); +@@ -15,6 +16,10 @@ + unsigned int n; + { + char *x; ++ if (n >= (INT_MAX >> 3)) { ++ errno = error_nomem; ++ return 0; ++ } + n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */ + if (n <= avail) { avail -= n; return space + avail; } + x = malloc(n); diff --git a/mail/qmail/files/qmailsend.in b/mail/qmail/files/qmailsend.in index 7a3342f43873..31f022aecf82 100644 --- a/mail/qmail/files/qmailsend.in +++ b/mail/qmail/files/qmailsend.in @@ -41,8 +41,8 @@ pidfile="/var/run/${name}.pid" qmailsend_start() { case ${qmailsend_delivery} in - maildir) command_args='./Maildir/';; - mailbox) command_args='./Mailbox';; + maildir) command_args=./Maildir/;; + mailbox) command_args=./Mailbox;; proc) command_args='|preline procmail';; V7) command_args='|preline -f /bin/mail -f "${SENDER:-MAILER-DAEMON}" -d "$USER"';; SVR4) command_args='|preline -f /bin/mail -r "${SENDER:-MAILER-DAEMON}" -d "$USER"';;