-----BEGIN PGP SIGNED MESSAGE----- ============================================================================= FreeBSD-SA-02:15 Security Advisory FreeBSD, Inc. Topic: cyrus-sasl library contains format string vulnerability Category: ports Module: cyrus-sasl Announced: 2002-03-12 Credits: Kari Hurtta Affects: cyrus-sasl port prior to cyrus-sasl-1.5.24_8 Corrected: 2001-12-09 03:07:36 UTC FreeBSD only: NO CVE: CAN-2001-0869 I. Background Cyrus-SASL is an implementation of RFC 2222 SASL (Simple Authentication and Security Layer), a method for adding authentication support to connection based protocols. II. Problem Description Affected versions of the cyrus-sasl port contain a format string vulnerability. The format string vulnerability occurs during a call to the syslog(3) function. The cyrus-sasl port is not installed by default, nor is it "part of FreeBSD" as such: it is part of the FreeBSD ports collection, which contains thousands of third-party applications in a ready-to-install format. The ports collection shipped with FreeBSD 4.4 is vulnerable to this problem since it was discovered after its release. FreeBSD makes no claim about the security of these third-party applications, although an effort is underway to provide a security audit of the most security-critical ports. III. Impact Malicious remote users may cause an application using cyrus-sasl to execute arbitrary code with the privileges of the process using the cyrus-sasl library. However, there are no known exploits at this writing, and the author of cyrus-sasl does not believe that this bug is exploitable. See the `References' section for more information. If the cyrus-sasl port is not installed, then your system is not vulnerable to this problem. The following command can be used to determine whether or not the cyrus-sasl port is installed: # pkg_info -I cyrus-sasl-\* IV. Workaround Deinstall the cyrus-sasl port if you have installed it. V. Solution Do one of the following: 1) Upgrade your entire ports collection and rebuild the port. 2) Deinstall the old port and install a corrected version from the following directories. [i386] ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/security/ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/security/ [alpha] Packages are not automatically generated for the alpha architecture at this time due to lack of build resources. 3) Download a new port skeleton for cyrus-sasl from: http://www.freebsd.org/ports/ and use it to rebuild the port. 4) Use the portcheckout utility to automate option (3) above. The portcheckout port is available in /usr/ports/devel/portcheckout or the package can be obtained from: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/Latest/portcheckout.tgz ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/Latest/portcheckout.tgz VI. Correction details The following list contains the revision numbers of each file that was corrected in the FreeBSD ports collection. Path Revision - ------------------------------------------------------------------------- ports/security/cyrus-sasl/Makefile 1.30 ports/security/cyrus-sasl/files/patch-lib::common.c 1.1 - ------------------------------------------------------------------------- VII. References -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iQCVAwUBPI4Ox1UuHi5z0oilAQEqfAQAm21BK3iBrye7YKOpNIe4HhWyLx5YyPs+ AEASVCg9J4n3vp//nhaOlpC9vQgdoBSX/vRDx5GCS8fkkw/l0R/KmTit1Kezahht ms4LbcSqjxKzscPBwT3ZJZt166z5JyUXkzVOsGbEG11WMgeH/jQ4oTG/Xk9cGWH9 r+BCSjm3phw= =VRs8 -----END PGP SIGNATURE-----