Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications, providing support for, among others, SSL (Secure Socket Layer) protocol version 2 and 3. For more information visit the following URL.
Remote exploitation of an input validation error causing an integer underflow in version 3.10 of the Mozilla Foundation's Network Security Services (NSS) may allow an attacker to execute arbitrary code in the context of the affected application.
The vulnerability specifically exists due to a design error in the processing of malformed SSLv2 server messages. By sending a certificate with a public key too small to encrypt the "Master Secret", heap corruption can be triggered which may result in the execution of arbitrary code.
Successful exploitation of this vulnerability would allow an attacker to execute arbitrary code in the context of the user running the affected client.
Since this vulnerability is in library code used by multiple applications, the details of how an attacker would exploit it vary. In all cases, the affected client connects to a server which replies in the initial handshake with a specially crafted certificate. This causes a heap based overflow with random data and eventually causes a fault writing past the end of the allocated space. Some applications may use values from the overwritten memory locations before the program exits. In this case, it may be possible for an attacker to cause code to execute.
Although the data which overruns the heap is random, code execution is possible on some platforms with some applications using the library. Although unreliable, iDefense has demonstrated that this vulnerability can result in code execution with Firefox 220.127.116.11 on Windows XP.
iDefense has confirmed this vulnerability exists in versions 3.10 and 3.11.3 of Mozilla Network Security Services. These libraries are used in a variety of products from multiple vendors including Sun Microsystems, Red Hat and Mozilla. Previous versions are also likely to be affected. The names 'libnss3.so' on Linux based systems or 'nss3.dll' on Windows based systems may indicate the library is being used by an application.
iDefense is not aware of any effective workaround for this vulnerability. With some clients, it may be possible to mitigate exposure by disabling SSLv2 support. However, this may cause problems connecting to servers using only SSLv2.
The Mozilla Foundation has addressed this vulnerability in Mozilla Foundation Security Advisory 2007-06. For more information, view their advisory at the following URL.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2007-0008 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.
12/18/2006 Initial vendor notification
12/19/2006 Initial vendor response
02/23/2007 Coordinated public disclosure
This vulnerability was reported to iDefense by regenrecht.
Get paid for vulnerability research
Free tools, research and upcoming events
Copyright © 2007 Verisign, Inc.
Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDefense. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please e-mail customer service for permission.
Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.