ESA-2012-029: RSA BSAFE® SSL-C Multiple Vulnerabilities


ESA-2012-029.txt -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ESA-2012-029: RSA BSAFE® SSL-C Multiple Vulnerabilities EMC Identifier: ESA-2012-029 CVE Identifier: CVE-2011-3389, CVE-2012-2110, CVE-2012-2131 Severity Rating: See below for scores for individual issues Affected Products: For the BEAST vulnerability, all versions of RSA BSAFE SSL-C prior to 2.8.9 are affected. For the Buffer Overflow vulnerability, all versions of RSA BSAFE SSL-C prior to 2.8.6 are affected. Unaffected Products: RSA BSAFE SSL-C 2.8.9 Summary: RSA BSAFE SSL-C 2.8.6 contains updates designed to help prevent Buffer Overflow vulnerability (CVE-2012-2110/CVE-2012-2131). RSA BSAFE SSL-C 2.8.9 contains updates designed to help prevent the BEAST vulnerability (CVE-2011-3389). Details: 1. BEAST (Browser Exploit Against SSL/TLS) vulnerability (CVE-2011-3389) There is a known vulnerability in SSLv3 and TLS v1.0 to do with how the Initialization Vector (IV) is generated. For symmetric algorithms in CBC mode, the IV for the first record is generated using keys and secrets set during the SSL or TLS handshake. All subsequent records are encrypted using the ciphertext block from the previous record as the IV. With symmetric key encryption in CBC mode, plain text encrypted with the same IV and key generates the same cipher text, which is why having a variable IV is important. The BEAST exploit uses this SSLv3 and TLS v1.0 vulnerability by allowing an attacker to observe the last ciphertext block, which is the IV, then replace this with an IV of their choice, inject some of their own plain text data, and when this new IV is used to encrypt the data, the attacker can guess the plain text data one byte at a time. CVSSv2 Base Score: 4.3 (AV:N/AC:M/Au:N/C:P/I:N/A:N) 2. Buffer Overflow vulnerability (CVE-2012-2110/CVE-2012-2131) SSL-C contains code that does not properly interpret integer data, which could allow buffer overflow attacks using crafted DER (Distinguished Encoding Rules) data, such as in X.509 certificate or an RSA asymmetric key. CVSSv2 Base Score: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P) Recommendation: For the BEAST vulnerability: The best way to help prevent this attack is to use TLS v1.1 or higher. The vulnerability to do with IV generation was fixed in TLS v1.1 (released in 2006) so implementations using only TLS v1.1 are engineered to be secure against the BEAST exploit. However, support for these higher level protocols is limited to a smaller number of applications, so supporting only TLS v1.1 might cause interoperability issues. A second solution is to limit the negotiated cipher suites to exclude those that do not require symmetric key algorithms in CBC mode. However, this substantially restricts the number of cipher suites that can be negotiated. That is, only cipher suites with NULL encryption or cipher suites with streaming encryption algorithms (the RC4 algorithm) could be negotiated, which might result in reduced security. In SSL-C 2.8.9, the way to prevent the BEAST exploit is to introduce some unknown data into the encryption scheme, prior to the attackers inserted plain text data. This is done as follows: 1. After the first encrypted record is sent, any plaintext to be encrypted is split into two blocks of plaintext. The blocks of data are then sent as two encrypted records; the first encrypted record contains the first byte of data and the second encrypted record contains the rest. 2. A MAC is generated from the one byte of data, the MAC key, and an increasing counter. This MAC is included in the first block of plaintext. 3. The one byte of data along with the MAC is encrypted and becomes the IV for the next block. Because the IV is now essentially random data, it is impossible for an attacker to predict it and replace it with one of their own. NOTE: In SSL-C 2.8.9, this mitigation for the BEAST exploit is enabled by default. No code changes are required to protect against it. In special cases, if required, the BEAST exploit mitigation, either for an SSL context or SSL object can be disabled by calling SSL_CTX_set_options() or SSL_set_options() respectively with the SSL_OP_NO_BEAST_MITIGATION identifier. Note the following about packet splitting: - - Splitting only occurs for negotiated cipher suites that use CBC mode. - - Only application data packets are split. Handshake packets are not split. - - Blocks of plaintext are split for each subsequent call to write data to the SSL connection after the first write is sent. For more information about these functions and identifiers, see the RSA BSAFE SSL-C 2.8.9 API Reference Guide. RSA strongly recommends that RSA BSAFE SSL-C customers upgrade to RSA SSL-C 2.8.9 or later to resolve both the BEAST and the Buffer Overflow vulnerabilities. Obtaining Downloads: To request your upgrade of the software, please call your local support telephone number (contact phone numbers are available at http://www.emc.com/support/rsa/contact/phone-numbers.htm) for most expedient service. Obtaining Documentation: To obtain RSA documentation, log on to RSA SecurCare Online at https://knowledge.rsasecurity.com and click Products in the top navigation menu. Select the specific product whose documentation you want to obtain. Scroll to the section for the product version that you want and click the set link. Severity Rating: For an explanation of Severity Ratings, refer to the Knowledge Base Article, “Security Advisories Severity Rating” at https://knowledge.rsasecurity.com/scolcms/knowledge.aspx?solution=a46604. RSA recommends all customers take into account both the base score and any relevant temporal and environmental scores which may impact the potential severity associated with particular security vulnerability. Obtaining More Information: For more information about RSA products, visit the RSA web site at http://www.rsa.com. Getting Support and Service: For customers with current maintenance contracts, contact your local RSA Customer Support center with any additional questions regarding this RSA SecurCare Note. For contact telephone numbers or e-mail addresses, log on to RSA SecurCare Online at https://knowledge.rsasecurity.com, click Help & Contact, and then click the Contact Us - Phone tab or the Contact Us - Email tab. General Customer Support Information: http://www.emc.com/support/rsa/index.htm RSA SecurCare Online: https://knowledge.rsasecurity.com EOPS Policy: RSA has a defined End of Primary Support policy associated with all major versions. Please refer to the link below for additional details. http://www.emc.com/support/rsa/eops/index.htm SecurCare Online Security Advisories RSA, The Security Division of EMC, distributes SCOL Security Advisories in order to bring to the attention of users of the affected RSA products important security information. RSA recommends that all users determine the applicability of this information to their individual situations and take appropriate action. The information set forth herein is provided "as is" without warranty of any kind. RSA disclaim all warranties, either express or implied, including the warranties of merchantability, fitness for a particular purpose, title and non-infringement. In no event shall RSA or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if RSA or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. About RSA SecurCare Notes & Security Advisories Subscription RSA SecurCare Notes & Security Advisories are targeted e-mail messages that RSA sends you based on the RSA product family you currently use. If you’d like to stop receiving RSA SecurCare Notes & Security Advisories, or if you’d like to change which RSA product family Notes & Security Advisories you currently receive, log on to RSA SecurCare Online at https://knowledge.rsasecurity.com/scolcms/help.aspx?_v=view3. Following the instructions on the page, remove the check mark next to the RSA product family whose Notes & Security Advisories you no longer want to receive. Click the Submit button to save your selection. Sincerely, RSA Customer Support -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (Cygwin) iEYEARECAAYFAlM9gD8ACgkQtjd2rKp+ALzbvgCeL8alKy39Gfj1A6jtJoFJ+IG3 ufMAnReinZ/m4NifCfqyg98TIleiuOvc =Pb/v -----END PGP SIGNATURE-----