Security update for compat-openssl097g

SUSE Security Update: Security update for compat-openssl097g
Announcement ID: SUSE-SU-2016:0631-1
Rating: important
References: #963415 #968046 #968048 #968051 #968053 #968374
Affected Products:
  • SUSE Linux Enterprise Server for SAP 11-SP4
  • SUSE Linux Enterprise Desktop 11-SP4
  • SUSE Linux Enterprise Debuginfo 11-SP4

  • An update that fixes 6 vulnerabilities is now available.

    Description:


    This update for compat-openssl097g fixes the following issues:
    - CVE-2016-0800 aka the "DROWN" attack (bsc#968046): OpenSSL was
    vulnerable to a cross-protocol attack that could lead to decryption of
    TLS sessions by using a server supporting SSLv2 and EXPORT cipher suites
    as a Bleichenbacher RSA padding oracle.

    This update changes the openssl library to:

    * Disable SSLv2 protocol support by default.

    This can be overridden by setting the environment variable
    "OPENSSL_ALLOW_SSL2" or by using SSL_CTX_clear_options using the
    SSL_OP_NO_SSLv2 flag.

    Note that various services and clients had already disabled SSL
    protocol 2 by default previously.

    * Disable all weak EXPORT ciphers by default. These can be reenabled if
    required by old legacy software using the environment variable
    "OPENSSL_ALLOW_EXPORT".

    - CVE-2016-0705 (bnc#968047): A double free() bug in the DSA ASN1 parser
    code was fixed that could be abused to facilitate a denial-of-service
    attack.

    - CVE-2016-0797 (bnc#968048): The BN_hex2bn() and BN_dec2bn() functions
    had a bug that could result in an attempt to de-reference a NULL pointer
    leading to crashes. This could have security consequences if these
    functions were ever called by user applications with large untrusted
    hex/decimal data. Also, internal usage of these functions in OpenSSL
    uses data from config files
    or application command line arguments. If user developed applications
    generated config file data based on untrusted data, then this could
    have had security consequences as well.

    - CVE-2016-0799 (bnc#968374) On many 64 bit systems, the internal fmtstr()
    and doapr_outch() functions could miscalculate the length of a string
    and attempt to access out-of-bounds memory locations. These problems
    could have enabled attacks where large amounts of untrusted data is
    passed to the BIO_*printf functions. If applications use these functions
    in this way then they could have been vulnerable. OpenSSL itself uses
    these functions when printing out human-readable dumps of ASN.1 data.
    Therefore applications that print this data could have been vulnerable
    if the data is from untrusted sources. OpenSSL command line applications
    could also have been vulnerable when they print out ASN.1 data, or if
    untrusted data is passed as command line arguments. Libssl is not
    considered directly vulnerable.
    - CVE-2016-0800 aka the "DROWN" attack (bsc#968046): OpenSSL was
    vulnerable to a cross-protocol attack that could lead to decryption of
    TLS sessions by using a server supporting SSLv2 and EXPORT cipher suites
    as a Bleichenbacher RSA padding oracle.

    This update changes the openssl library to:

    * Disable SSLv2 protocol support by default.

    This can be overridden by setting the environment variable
    "OPENSSL_ALLOW_SSL2" or by using SSL_CTX_clear_options using the
    SSL_OP_NO_SSLv2 flag.

    Note that various services and clients had already disabled SSL
    protocol 2 by default previously.

    * Disable all weak EXPORT ciphers by default. These can be reenabled if
    required by old legacy software using the environment variable
    "OPENSSL_ALLOW_EXPORT".

    - CVE-2016-0705 (bnc#968047): A double free() bug in the DSA ASN1 parser
    code was fixed that could be abused to facilitate a denial-of-service
    attack.

    - CVE-2016-0797 (bnc#968048): The BN_hex2bn() and BN_dec2bn() functions
    had a bug that could result in an attempt to de-reference a NULL pointer
    leading to crashes. This could have security consequences if these
    functions were ever called by user applications with large untrusted
    hex/decimal data. Also, internal usage of these functions in OpenSSL
    uses data from config files
    or application command line arguments. If user developed applications
    generated config file data based on untrusted data, then this could
    have had security consequences as well.

    - CVE-2016-0799 (bnc#968374) On many 64 bit systems, the internal fmtstr()
    and doapr_outch() functions could miscalculate the length of a string
    and attempt to access out-of-bounds memory locations. These problems
    could have enabled attacks where large amounts of untrusted data is
    passed to the BIO_*printf functions. If applications use these functions
    in this way then they could have been vulnerable. OpenSSL itself uses
    these functions when printing out human-readable dumps of ASN.1 data.
    Therefore applications that print this data could have been vulnerable
    if the data is from untrusted sources. OpenSSL command line applications
    could also have been vulnerable when they print out ASN.1 data, or if
    untrusted data is passed as command line arguments. Libssl is not
    considered directly vulnerable.

    - CVE-2015-3197 (bsc#963415): The SSLv2 protocol did not block disabled
    ciphers.

    Note that the March 1st 2016 release also references following CVEs that
    were fixed by us with CVE-2015-0293 in 2015:

    - CVE-2016-0703 (bsc#968051): This issue only affected versions of OpenSSL
    prior to March 19th 2015 at which time the code was refactored to
    address vulnerability CVE-2015-0293. It would have made the above
    "DROWN" attack much easier.
    - CVE-2016-0704 (bsc#968053): "Bleichenbacher oracle in SSLv2" This issue
    only affected versions of OpenSSL prior to March 19th 2015 at which time
    the code was refactored to address vulnerability CVE-2015-0293. It would
    have made the above "DROWN" attack much easier.

    Patch Instructions:

    To install this SUSE Security Update use YaST online_update.
    Alternatively you can run the command listed for your product:

    • SUSE Linux Enterprise Server for SAP 11-SP4:
      zypper in -t patch slesappsp4-compat-openssl097g-12436=1
    • SUSE Linux Enterprise Desktop 11-SP4:
      zypper in -t patch sledsp4-compat-openssl097g-12436=1
    • SUSE Linux Enterprise Debuginfo 11-SP4:
      zypper in -t patch dbgsp4-compat-openssl097g-12436=1

    To bring your system up-to-date, use "zypper patch".

    Package List:

    • SUSE Linux Enterprise Server for SAP 11-SP4 (ppc64 x86_64):
      • compat-openssl097g-0.9.7g-146.22.41.1
      • compat-openssl097g-32bit-0.9.7g-146.22.41.1
    • SUSE Linux Enterprise Desktop 11-SP4 (i586 x86_64):
      • compat-openssl097g-0.9.7g-146.22.41.1
    • SUSE Linux Enterprise Desktop 11-SP4 (x86_64):
      • compat-openssl097g-32bit-0.9.7g-146.22.41.1
    • SUSE Linux Enterprise Debuginfo 11-SP4 (i586 x86_64):
      • compat-openssl097g-debuginfo-0.9.7g-146.22.41.1
      • compat-openssl097g-debugsource-0.9.7g-146.22.41.1
    • SUSE Linux Enterprise Debuginfo 11-SP4 (x86_64):
      • compat-openssl097g-debuginfo-32bit-0.9.7g-146.22.41.1

    References: