-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ============================================================================= FreeBSD-SA-06:13.sendmail Security Advisory The FreeBSD Project Topic: Race condition in sendmail Category: contrib Module: contrib_sendmail Announced: 2006-03-22 Affects: All FreeBSD releases. Corrected: 2006-03-22 16:01:08 UTC (RELENG_6, 6.1-STABLE) 2006-03-22 16:01:38 UTC (RELENG_6_0, 6.0-RELEASE-p6) 2006-03-22 16:01:56 UTC (RELENG_5, 5.5-STABLE) 2006-03-22 16:02:17 UTC (RELENG_5_4, 5.4-RELEASE-p13) 2006-03-22 16:02:35 UTC (RELENG_5_3, 5.3-RELEASE-p28) 2006-03-22 16:02:49 UTC (RELENG_4, 4.11-STABLE) 2006-03-22 16:03:05 UTC (RELENG_4_11, 4.11-RELEASE-p16) 2006-03-22 16:03:25 UTC (RELENG_4_10, 4.10-RELEASE-p22) CVE Name: CVE-2006-0058 For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit . NOTE: The issue discussed in this advisory was reported to the FreeBSD Security Team, and the patch which corrects it was supplied, by the Sendmail Consortium via CERT. Due to the limited information available concerning the nature of the vulnerability, the FreeBSD Security Team has not been able to evaluate the effectiveness of the fixes, nor the possibility of other workarounds. I. Background FreeBSD includes sendmail(8), a general purpose internetwork mail routing facility, as the default Mail Transfer Agent (MTA). II. Problem Description A race condition has been reported to exist in the handling by sendmail of asynchronous signals. III. Impact A remote attacker may be able to execute arbitrary code with the privileges of the user running sendmail, typically root. IV. Workaround There is no known workaround other than disabling sendmail. V. Solution Perform one of the following: 1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE, or to the RELENG_6_0, RELENG_5_4, RELENG_5_3, RELENG_4_11, or RELENG_4_10 security branch dated after the correction date. 2) To patch your present system: The following patches have been verified to apply to FreeBSD 4.10, 4.11, 5.3, 5.4, and 6.0 systems. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. [FreeBSD 4.10] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail410.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail410.patch.asc [FreeBSD 4.11 and FreeBSD 5.3] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail411.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail411.patch.asc [FreeBSD 5.4, and FreeBSD 6.x] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:13/sendmail.patch.asc b) Execute the following commands as root: # cd /usr/src # patch < /path/to/patch # cd /usr/src/lib/libsm # make obj && make depend && make # cd /usr/src/lib/libsmutil # make obj && make depend && make # cd /usr/src/usr.sbin/sendmail # make obj && make depend && make && make install VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Branch Revision Path - ------------------------------------------------------------------------- RELENG_4 src/contrib/sendmail/libsm/fflush.c 1.1.1.1.2.1 src/contrib/sendmail/libsm/local.h 1.1.1.1.2.6 src/contrib/sendmail/libsm/refill.c 1.1.1.1.2.4 src/contrib/sendmail/src/collect.c 1.1.1.4.2.17 src/contrib/sendmail/src/conf.c 1.5.2.20 src/contrib/sendmail/src/deliver.c 1.1.1.3.2.20 src/contrib/sendmail/src/headers.c 1.4.2.16 src/contrib/sendmail/src/mime.c 1.1.1.3.2.10 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.20 src/contrib/sendmail/src/savemail.c 1.4.2.13 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.22 src/contrib/sendmail/src/sfsasl.c 1.1.1.1.2.16 src/contrib/sendmail/src/sfsasl.h 1.1.1.1.2.3 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.2.6.20 src/contrib/sendmail/src/usersmtp.c 1.1.1.3.2.17 src/contrib/sendmail/src/util.c 1.1.1.3.2.15 RELENG_4_11 src/contrib/sendmail/libsm/fflush.c 1.1.1.1.2.1.12.1 src/contrib/sendmail/libsm/local.h 1.1.1.1.2.5.2.1 src/contrib/sendmail/libsm/refill.c 1.1.1.1.2.3.2.1 src/contrib/sendmail/src/collect.c 1.1.1.4.2.14.2.1 src/contrib/sendmail/src/conf.c 1.5.2.17.2.1 src/contrib/sendmail/src/deliver.c 1.1.1.3.2.17.2.1 src/contrib/sendmail/src/headers.c 1.4.2.14.2.1 src/contrib/sendmail/src/mime.c 1.1.1.3.2.8.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.17.2.1 src/contrib/sendmail/src/savemail.c 1.4.2.11.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.19.2.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.1.2.14.2.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.1.2.2.12.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.2.6.17.2.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.3.2.14.2.1 src/contrib/sendmail/src/util.c 1.1.1.3.2.13.2.1 src/UPDATING 1.73.2.91.2.17 src/sys/conf/newvers.sh 1.44.2.39.2.20 RELENG_4_10 src/contrib/sendmail/libsm/fflush.c 1.1.1.1.2.1.10.1 src/contrib/sendmail/libsm/local.h 1.1.1.1.2.4.2.1 src/contrib/sendmail/libsm/refill.c 1.1.1.1.2.2.6.1 src/contrib/sendmail/src/collect.c 1.1.1.4.2.13.2.1 src/contrib/sendmail/src/conf.c 1.5.2.16.2.1 src/contrib/sendmail/src/deliver.c 1.1.1.3.2.16.2.1 src/contrib/sendmail/src/headers.c 1.4.2.13.2.1 src/contrib/sendmail/src/mime.c 1.1.1.3.2.7.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.2.6.16.2.1 src/contrib/sendmail/src/savemail.c 1.4.2.10.6.1 src/contrib/sendmail/src/sendmail.h 1.1.1.4.2.18.2.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.1.2.13.2.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.1.2.2.10.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.2.6.16.2.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.3.2.13.2.1 src/contrib/sendmail/src/util.c 1.1.1.3.2.12.2.1 src/UPDATING 1.73.2.90.2.23 src/sys/conf/newvers.sh 1.33.2.34.2.24 RELENG_5 src/contrib/sendmail/libsm/fflush.c 1.1.1.3.8.1 src/contrib/sendmail/libsm/local.h 1.1.1.7.2.1 src/contrib/sendmail/libsm/refill.c 1.1.1.5.2.1 src/contrib/sendmail/src/collect.c 1.1.1.19.2.3 src/contrib/sendmail/src/conf.c 1.26.2.3 src/contrib/sendmail/src/deliver.c 1.1.1.21.2.3 src/contrib/sendmail/src/headers.c 1.20.2.2 src/contrib/sendmail/src/mime.c 1.1.1.12.2.2 src/contrib/sendmail/src/parseaddr.c 1.1.1.20.2.3 src/contrib/sendmail/src/savemail.c 1.16.2.2 src/contrib/sendmail/src/sendmail.h 1.1.1.23.2.3 src/contrib/sendmail/src/sfsasl.c 1.1.1.14.2.2 src/contrib/sendmail/src/sfsasl.h 1.1.1.4.8.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.20.2.3 src/contrib/sendmail/src/usersmtp.c 1.1.1.18.2.3 src/contrib/sendmail/src/util.c 1.1.1.17.2.2 RELENG_5_4 src/contrib/sendmail/libsm/fflush.c 1.1.1.3.12.1 src/contrib/sendmail/libsm/local.h 1.1.1.7.6.1 src/contrib/sendmail/libsm/refill.c 1.1.1.5.6.1 src/contrib/sendmail/src/collect.c 1.1.1.19.2.1.2.1 src/contrib/sendmail/src/conf.c 1.26.2.1.2.1 src/contrib/sendmail/src/deliver.c 1.1.1.21.2.1.2.1 src/contrib/sendmail/src/headers.c 1.20.2.1.2.1 src/contrib/sendmail/src/mime.c 1.1.1.12.2.1.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.20.2.1.2.1 src/contrib/sendmail/src/savemail.c 1.16.2.1.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.23.2.1.2.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.14.2.1.2.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.4.12.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.20.2.1.2.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.18.2.1.2.1 src/contrib/sendmail/src/util.c 1.1.1.17.2.1.2.1 src/UPDATING 1.342.2.24.2.22 src/sys/conf/newvers.sh 1.62.2.18.2.18 RELENG_5_3 src/contrib/sendmail/libsm/fflush.c 1.1.1.3.10.1 src/contrib/sendmail/libsm/local.h 1.1.1.7.4.1 src/contrib/sendmail/libsm/refill.c 1.1.1.5.4.1 src/contrib/sendmail/src/collect.c 1.1.1.19.4.1 src/contrib/sendmail/src/conf.c 1.26.4.1 src/contrib/sendmail/src/deliver.c 1.1.1.21.4.1 src/contrib/sendmail/src/headers.c 1.20.4.1 src/contrib/sendmail/src/mime.c 1.1.1.12.4.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.20.4.1 src/contrib/sendmail/src/savemail.c 1.16.4.1 src/contrib/sendmail/src/sendmail.h 1.1.1.23.4.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.14.4.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.4.10.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.20.4.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.18.4.1 src/contrib/sendmail/src/util.c 1.1.1.17.4.1 src/UPDATING 1.342.2.13.2.31 src/sys/conf/newvers.sh 1.62.2.15.2.33 RELENG_6 src/contrib/sendmail/libsm/fflush.c 1.1.1.3.14.1 src/contrib/sendmail/libsm/local.h 1.1.1.7.8.1 src/contrib/sendmail/libsm/refill.c 1.1.1.5.8.1 src/contrib/sendmail/src/collect.c 1.1.1.21.2.1 src/contrib/sendmail/src/conf.c 1.28.2.1 src/contrib/sendmail/src/deliver.c 1.1.1.23.2.1 src/contrib/sendmail/src/headers.c 1.21.2.1 src/contrib/sendmail/src/mime.c 1.1.1.13.2.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.22.2.1 src/contrib/sendmail/src/savemail.c 1.17.2.1 src/contrib/sendmail/src/sendmail.h 1.1.1.26.2.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.15.2.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.4.14.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.22.2.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.21.2.1 src/contrib/sendmail/src/util.c 1.1.1.18.2.1 RELENG_6_0 src/contrib/sendmail/libsm/fflush.c 1.1.1.3.16.1 src/contrib/sendmail/libsm/local.h 1.1.1.7.10.1 src/contrib/sendmail/libsm/refill.c 1.1.1.5.10.1 src/contrib/sendmail/src/collect.c 1.1.1.21.4.1 src/contrib/sendmail/src/conf.c 1.28.4.1 src/contrib/sendmail/src/deliver.c 1.1.1.23.4.1 src/contrib/sendmail/src/headers.c 1.21.4.1 src/contrib/sendmail/src/mime.c 1.1.1.13.4.1 src/contrib/sendmail/src/parseaddr.c 1.1.1.22.4.1 src/contrib/sendmail/src/savemail.c 1.17.4.1 src/contrib/sendmail/src/sendmail.h 1.1.1.26.4.1 src/contrib/sendmail/src/sfsasl.c 1.1.1.15.4.1 src/contrib/sendmail/src/sfsasl.h 1.1.1.4.16.1 src/contrib/sendmail/src/srvrsmtp.c 1.1.1.22.4.1 src/contrib/sendmail/src/usersmtp.c 1.1.1.21.4.1 src/contrib/sendmail/src/util.c 1.1.1.18.4.1 src/UPDATING 1.416.2.3.2.11 src/sys/conf/newvers.sh 1.69.2.8.2.7 - ------------------------------------------------------------------------- VII. References http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0058 The latest revision of this advisory is available at ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:13.sendmail.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (FreeBSD) iD8DBQFEIXZWFdaIBMps37IRAldYAJ9nd+wQMJlQObUuio5tBEFwD0ULwwCbB2eI u3JkyVwHx4WOgmZkg9QKang= =d3RW -----END PGP SIGNATURE-----