Microsoft KB Archive/305601

= MS01-060: FIX: CRT string format functions may underwrite buffer =

Article ID: 305601

Article Last Modified on 3/29/2007

-

APPLIES TO


 * Microsoft Windows 2000 Service Pack 1
 * Microsoft Windows 2000 Service Pack 2
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows XP Professional
 * Microsoft Windows 2000 Service Pack 1
 * Microsoft Windows 2000 Service Pack 2
 * Microsoft Windows XP Home Edition
 * Microsoft Visual C++ 6.0 Service Pack 5
 * Microsoft Windows NT Server 4.0 Standard Edition
 * Microsoft Windows NT 4.0 Service Pack 1
 * Microsoft Windows NT 4.0 Service Pack 2
 * Microsoft Windows NT 4.0 Service Pack 3
 * Microsoft Windows NT 4.0 Service Pack 4
 * Microsoft Windows NT 4.0 Service Pack 5
 * Microsoft Windows NT 4.0 Service Pack 6a
 * Microsoft Windows NT Server 4.0 Enterprise Edition
 * Microsoft Windows NT 4.0 Service Pack 4
 * Microsoft Windows NT 4.0 Service Pack 5
 * Microsoft Windows NT 4.0 Service Pack 6a
 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Workstation 4.0
 * Microsoft Windows NT Workstation 4.0 Developer Edition

-



This article was previously published under Q305601



SYMPTOMS
Some CRT string format functions may cause an access violation, stack overflow, or stack corruption due to buffer underwrites.



CAUSE
When a printf-style function performs integer or floating-point conversion, it uses an internal buffer to convert the number into a string. If the user-supplied Precision property is greater than the internal buffer size, the conversion writes outside the boundaries of that buffer because the values on the stack are always the same regardless of the underrun values, and these values cannot be changed.



RESOLUTION
Note All of the hotfixes listed below require you to restart the computer after installation.

Visual C++
The Visual C++ 6.0 version of this fix is available at the following Microsoft Developer Network (MSDN) Web site:

http://msdn2.microsoft.com/en-us/vstudio/aa718354.aspx

The English version of this fix should have the following file attributes or later:

Windows XP
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

322389 How to obtain the latest Windows XP service pack

The following files are available for download from the Microsoft Download Center:

English (US): Download Q305601_WXP_SP1_x86_EN.exe now

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

English (US) (64-bit): Download Q305601_WXP_SP1_x86_EN.exe now

Chinese (Simplified): Download Q305601_WXP_SP1_x86_CN.exe now

Chinese (Traditional): Download Q305601_WXP_SP1_x86_TW.exe now

Czech: Download Q305601_WXP_SP1_x86_CS.exe now

Danish: Download Q305601_WXP_SP1_x86_DA.exe now

Dutch: Download Q305601_WXP_SP1_x86_NL.exe now

Finnish: Download Q305601_WXP_SP1_x86_FI.exe now

French: Download Q305601_WXP_SP1_x86_FR.exe now

French (64-bit): Download Q305601_WXP_SP1_x86_FR.exe now

German: Download Q305601_WXP_SP1_x86_DE.exe now

German (64-bit): Download Q305601_WXP_SP1_x86_DE.exe now

Greek: Download Q305601_WXP_SP1_x86_EL.exe now

Hungarian: Download Q305601_WXP_SP1_x86_HU.exe now

Italian: Download Q305601_WXP_SP1_x86_IT.exe now

Japanese: Download Q305601_WXP_SP1_x86_JA.exe now

Japanese (64-bit): Download Q305601_WXP_SP1_x86_JA.exe now

Korean: Download Q305601_WXP_SP1_x86_KO.exe now

Norwegian: Download Q305601_WXP_SP1_x86_NO.exe now

Polish: Download Q305601_WXP_SP1_x86_PL.exe now

Portuguese: Download Q305601_WXP_SP1_x86_PT.exe now

Portuguese (Brazil): Download Q305601_WXP_SP1_x86_BR.exe now

Russian: Download Q305601_WXP_SP1_x86_RU.exe now

Spanish: Download Q305601_WXP_SP1_x86_ES.exe now

Swedish: Download Q305601_WXP_SP1_x86_SV.exe now

Turkish: Download Q305601_WXP_SP1_x86_TR.exe now

The English version of this fix should have the following file attributes or later:

Windows 2000
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to obtain the latest Windows 2000 service pack

The following files are available for download from the Microsoft Download Center:

English (US): Download Q305601_W2K_SP3_x86_EN.exe now

Chinese (Simplified): Download Q305601_W2K_SP3_x86_CN.exe now

Chinese (Traditional): Download Q305601_W2K_SP3_x86_TW.exe now

German: Download Q305601_W2K_SP3_x86_DE.exe now

Italian: Download Q305601_W2K_SP3_x86_IT.exe now

Japanese: Download Q305601_W2K_SP3_x86_JA.exe now

Korean: Download Q305601_W2K_SP3_x86_KO.exe now

Spanish: Download Q305601_W2K_SP3_x86_ES.exe now

The English version of this fix should have the following file attributes or later:

Windows NT 4.0
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that you determine are at risk of attack. Evaluate the computer's physical accessibility, network and Internet connectivity, and other factors to determine the degree of risk to the computer. See the associated Microsoft Security Bulletin to help determine the degree of risk. This hotfix may receive additional testing. If the computer is sufficiently at risk, we recommend that you apply this hotfix now.

To resolve this problem immediately, download the hotfix by following the instructions later in this article or contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Note In special cases, charges that are ordinarily incurred for support calls may be canceled, if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question. The following files are available for download from the Microsoft Download Center:

English (US): Download Q305601nt4.exe now

Chinese (Simplified): Download Q305601nt4.exe now

Chinese (Traditional): Download Q305601nt4.exe now

German: Download Q305601nt4.exe now

Italian: Download Q305601nt4.exe now

Japanese: Download Q305601nt4.exe now

Korean: Download Q305601nt4.exe now

Spanish: Download Q305601nt4.exe now

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.



Windows XP
Microsoft has confirmed that this problem may cause a degree of security vulnerability in Microsoft Windows XP. This problem was first corrected in Windows XP Service Pack 1.

Windows 2000
Microsoft has confirmed that this problem may cause a degree of security vulnerability in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 3.

Windows NT 4.0
Microsoft has confirmed that this problem may cause a degree of security vulnerability in Microsoft Windows NT 4.0.

Visual C++
Microsoft has confirmed that this problem may cause a degree of security vulnerability in Microsoft Visual C++.



MORE INFORMATION
For more information about this vulnerability, see the following Microsoft Web site:

http://www.microsoft.com/technet/security/Bulletin/MS01-060.mspx

Additional query words: kbBaseOS security_patch _snprintf, _snwprintf, _vsnprintf, _vsnwprintf, buffer overflow

Keywords: kbbug kbfix kbwin2000presp3fix kbqfe kbwin2000sp3fix kbsecurity kboswin2000fix kbwinxpsp1fix kbhotfixserver KB305601

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.