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
This commit is contained in:
Kurt Jaeger 2020-05-24 12:59:01 +00:00
parent 8b77fe247c
commit 8a56ada4da
6 changed files with 28 additions and 13 deletions

View file

@ -3,7 +3,7 @@
PORTNAME= qmail
PORTVERSION= ${QMAIL_VERSION}.${MYSQL_PATCH_VERSION}
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= mail
PKGNAMESUFFIX= -mysql

View file

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

View file

@ -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 <bsd.port.options.mk>
.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

View file

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

View file

@ -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 <limits.h>
#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);

View file

@ -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"';;