-----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 <hurtta+zz@leija.mh.fmi.fi>
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

<URL:http://www.securityfocus.com/archive/1/224148>
<URL:http://www.iss.net/security_center/static/7443.php>
-----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-----
