FreeBSD Security Advisory FreeBSD-SA-05:21.openssl

From: FreeBSD Security Advisories (security-advisories_at_freebsd.org)
Date: 10/11/05

  • Next message: jimmy_at_inet-solutions.be: "Re: FreeBSD Security Advisory FreeBSD-SA-05:21.openssl"
    Date: Tue, 11 Oct 2005 12:02:50 GMT
    To: FreeBSD Security Advisories <security-advisories@freebsd.org>
    
    

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    =============================================================================
    FreeBSD-SA-05:21.openssl Security Advisory
                                                              The FreeBSD Project

    Topic: Potential SSL 2.0 rollback

    Category: contrib
    Module: openssl
    Announced: 2005-10-11
    Credits: Yutaka Oiwa
    Affects: All FreeBSD releases.
    Corrected: 2005-10-11 11:52:46 UTC (RELENG_6, 6.0-STABLE)
                    2005-10-11 11:53:03 UTC (RELENG_6_0, 6.0-RELEASE)
                    2005-10-11 11:52:01 UTC (RELENG_5, 5.4-STABLE)
                    2005-10-11 11:52:28 UTC (RELENG_5_4, 5.4-RELEASE-p8)
                    2005-10-11 11:52:13 UTC (RELENG_5_3, 5.3-RELEASE-p23)
                    2005-10-11 11:50:50 UTC (RELENG_4, 4.11-STABLE)
                    2005-10-11 11:51:45 UTC (RELENG_4_11, 4.11-RELEASE-p13)
                    2005-10-11 11:51:20 UTC (RELENG_4_10, 4.10-RELEASE-p19)
    CVE Name: CAN-2005-2969

    For general information regarding FreeBSD Security Advisories,
    including descriptions of the fields above, security branches, and the
    following sections, please visit
    <URL:http://www.freebsd.org/security/>.

    I. Background

    The OpenSSL library implements the Secure Sockets Layer and Transport
    Layer Security protocols, as well as providing a large number of basic
    cryptographic functions.

    The Secure Sockets Layer protocol exists in two versions and includes a
    mechanism for negotiating the protocol version to be used. If the
    protocol is executed correctly, it is impossible for a client and
    server both capable of the newer version of the protocol (SSLv3) to end
    up using the older version of the protocol (SSLv2).

    II. Problem Description

    In order to provide bug-for-bug compatibility with Microsoft Internet
    Explorer 3.02, a verification step required by the Secure Sockets Layer
    protocol can be disabled by using the SSL_OP_MSIE_SSLV2_RSA_PADDING
    option in OpenSSL. This option is implied by the frequently-used
    SSL_OP_ALL option.

    III. Impact

    If the SSL_OP_MSIE_SSLV2_RSA_PADDING option is enabled in a server
    application using OpenSSL, an attacker who is able to intercept and
    tamper with packets transmitted between a client and the server can
    cause the protocol version negotiation to result in SSLv2 being used
    even when both the client and the server support SSLv3. Due to a
    number of weaknesses in the SSLv2 protocol, this may allow the attacker
    to read or tamper with the encrypted data being sent.

    Applications which do not support SSLv2, have been configured to not
    permit the use of SSLv2, or do not use the SSL_OP_MSIE_SSLV2_RSA_PADDING
    or SSL_OP_ALL options are not affected.

    IV. Workaround

    No workaround is available.

    V. Solution

    NOTE WELL: The solution described below causes OpenSSL to ignore the
    SSL_OP_MSIE_SSLV2_RSA_PADDING option and hence to require conformance
    with the Secure Sockets Layer protocol. As a result, this solution
    will reintroduce incompatibility with Microsoft Internet Explorer 3.02
    and any other applications which exhibit the same protocol violation.

    Perform one of the following:

    1) Upgrade your vulnerable system to 4-STABLE or 5-STABLE, or to the
    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, and 5.4 systems.

    a) Download the relevant patch from the location below, and verify the
    detached PGP signature using your PGP utility.

    # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:21/openssl.patch
    # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:21/openssl.patch.asc

    b) Execute the following commands as root:

    # cd /usr/src
    # patch < /path/to/patch

    c) Recompile the operating system as described in
    <URL: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html >.

    Note that any statically linked applications that are not part of the
    base system (i.e. from the Ports Collection or other 3rd-party sources)
    must be recompiled.

    All affected applications must be restarted for them to use the
    corrected library. Though not required, rebooting may be the easiest
    way to accomplish this.

    VI. Correction details

    The following list contains the revision numbers of each file that was
    corrected in FreeBSD.

    Branch Revision
      Path
    - -------------------------------------------------------------------------
    RELENG_4
      src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.11
      src/crypto/openssl/ssl/s23_srvr.c 1.2.2.6
    RELENG_4_11
      src/UPDATING 1.73.2.91.2.14
      src/sys/conf/newvers.sh 1.44.2.39.2.17
      src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.10.4.1
      src/crypto/openssl/ssl/s23_srvr.c 1.2.2.5.8.1
    RELENG_4_10
      src/UPDATING 1.73.2.90.2.19
      src/sys/conf/newvers.sh 1.44.2.34.2.20
      src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.10.2.1
      src/crypto/openssl/ssl/s23_srvr.c 1.2.2.5.6.1
    RELENG_5
      src/crypto/openssl/crypto/opensslv.h 1.1.1.1.15.2.2
      src/crypto/openssl/ssl/s23_srvr.c 1.7.6.1
    RELENG_5_4
      src/UPDATING 1.342.2.24.2.17
      src/sys/conf/newvers.sh 1.62.2.18.2.13
      src/crypto/openssl/crypto/opensslv.h 1.1.1.15.2.1.2.1
      src/crypto/openssl/ssl/s23_srvr.c 1.7.10.1
    RELENG_5_3
      src/UPDATING 1.342.2.13.2.26
      src/sys/conf/newvers.sh 1.62.2.15.2.28
      src/crypto/openssl/crypto/opensslv.h 1.1.1.15.4.1
      src/crypto/openssl/ssl/s23_srvr.c 1.7.8.1
    RELENG_6
      src/crypto/openssl/ssl/s23_srvr.c 1.7.12.1
      src/crypto/openssl/crypto/opensslv.h 1.1.1.16.2.1
    RELENG_6_0
      src/UPDATING 1.73.2.91.2.14
      src/crypto/openssl/crypto/opensslv.h 1.1.1.16.4.1
      src/crypto/openssl/ssl/s23_srvr.c 1.7.14.1
    - -------------------------------------------------------------------------

    VII. References

    http://www.openssl.org/news/secadv_20051011.txt
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2969

    The latest revision of this advisory is available at
    ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:21.openssl.asc
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.2 (FreeBSD)

    iD8DBQFDS6g2FdaIBMps37IRAr7CAJ9l7bq6Fy1l1bN2LRUS0bXqi+aKKACfW1Sj
    JCNxiTF4GT/oV2EMDnIs0gc=
    =j+YS
    -----END PGP SIGNATURE-----
    _______________________________________________
    freebsd-security@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-security
    To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"


  • Next message: jimmy_at_inet-solutions.be: "Re: FreeBSD Security Advisory FreeBSD-SA-05:21.openssl"

    Relevant Pages

    • Re: Example network protocol implementation
      ... Could someone point me to an example that shows a SIMPLE network protocol ... implemented over TCP/IP inside the FreeBSD kernel. ... you call socreate to get a socket. ...
      (freebsd-hackers)
    • Re: Example network protocol implementation
      ... Could someone point me to an example that shows a SIMPLE network protocol ... implemented over TCP/IP inside the FreeBSD kernel. ... you call socreate to get a socket. ...
      (freebsd-questions)
    • [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-05:21.openssl
      ... For general information regarding FreeBSD Security Advisories, ... mechanism for negotiating the protocol version to be used. ... up using the older version of the protocol (SSLv2). ... dated after the correction date. ...
      (freebsd-announce)
    • FreeBSD Security Advisory FreeBSD-SA-05:21.openssl
      ... For general information regarding FreeBSD Security Advisories, ... mechanism for negotiating the protocol version to be used. ... up using the older version of the protocol (SSLv2). ... dated after the correction date. ...
      (Bugtraq)
    • Re: Disabling the SSLv2 protocol
      ... I need to disable the SSLv2 protocol, ... We are similar to "Gonzo's" post - I ran a security scan on this server and ... The Secure Socket Layer protocol allows for secure communication ...
      (microsoft.public.inetserver.iis.security)