J-Security Center

Latest Attack Object Updates
  • IDP Daily Update #1537
    posted: 11/06/09
  • NSM Daily Update #1537
    posted: 11/06/09
  • Deep Inspection 5.3r5 and above, 5.4, 6.0 #1537
    posted: 11/06/09
  • Deep Inspection 5.1 and 5.2 #1435
    posted: 11/06/09
  • Deep Inspection 5.0, 5.3r4 and below #1132
    posted: 03/28/08 (04/01/08 for 5.0)
  • Antivirus
    posted: 11/05/09

Title: Microsoft Windows Private Communications Transport Protocol Buffer Overrun Vulnerability

Severity: CRITICAL

Description:

Various Microsoft Windows operating systems are prone to a remotely exploitable buffer overrun via the PCT (Private Communications Transport) protocol. PCT is included as part of the SSL library and was developed as an alternative to SSL 2.0, though it has been largely superseded by SSL 3.0.

The source of the vulnerability is insufficient bounds checking of parameters in PCT TCP packets that are received by an SSL-enabled service such as IIS, Exchange Server or Analysis Services 2000. Specifically, the issue exists in the PctlSrvHandleUniHello() function of the schannel.dll library which is loaded by LSASS.exe. A user-supplied size value is read from the incoming PCT packet (ClientHello SSL 2 message), this value is then checked to ensure that it does not exceed the size of a reserved stack based buffer(32 bytes). The challenge data is then copied into the reserved buffer as a string array. However, during a concatenation routine that is later performed, data copied from each element of the string array is appended to the end of said array using the supplied size value as an offset as follows:
for(i = 0; i < UserSuppliedInteger; i++)
buffer[i+UserSuppliedInteger] = ~buffer[i];

Where UserSuppliedInteger is an integer value less than 32.

Clearly this will present a problem. As concatenation occurs, data from the array will be written beyond the boundary of the 32-byte buffer and into adjacent memory. This adjacent region of memory contains a saved base pointer and instruction pointer as well as some function arguments. It has been reported that a supplied size value of 0x16 will cause the instruction pointer (return address) to be overwritten.

Successful exploitation of this issue could allow a remote attacker to execute malicious code on a vulnerable system, resulting in full system compromise.

The vulnerability may also reportedly be exploitable by a local user who passes malicious parameters to the vulnerable component interactively or through another application.

This issue is reported to only affect systems that have SSL enabled but could also affect Windows 2000 Domain Controllers under some circumstances. For Windows Server 2003, PCT must be manually enabled in addition to enabling SSL support to be affected. Reportedly, both PCT 1.0 and SSL 2.0 must be enabled for successful exploitation.

**Update: There have been reports from a third party (See references) that a worm to exploit this issue is being trialed in preparation for release. This information is by no means confirmed, however, an unofficial workaround has been added to the workarounds section. This workaround will act as a temporary alternative to applying official patches. It should be noted that the application of official patches is the recommended solution.

**Update (April 24, 2004): It has been reported that this issue may be exploited via additional attack vectors. Core Security Technologies has provided IMPACT customers with a module that exploits this issue over various vectors that were previously unknown. According to the new information this issue may be exploited over SMTP (TCP/UDP port 25 after STARTTLS command is issued), IMAPS (TCP/UDP port 993), POP3S (TCP/UDP port 995), and NNTPS (TCP/UDP port 563).

**Update (April 27, 2004): The DeepSight Threat Analysis team has observed exploit activity in the wild associated with this vulnerability.

Affected Products:

  • Avaya DefinityOne Media Servers
  • Avaya IP600 Media Servers
  • Avaya S3400 Message Application Server
  • Avaya S8100 Media Servers
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP4
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Datacenter Server SP1
  • Microsoft Windows 2000 Datacenter Server SP2
  • Microsoft Windows 2000 Datacenter Server SP3
  • Microsoft Windows 2000 Datacenter Server SP4
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Professional SP3
  • Microsoft Windows 2000 Professional SP4
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Server SP3
  • Microsoft Windows 2000 Server SP4
  • Microsoft Windows NT Enterprise Server 4.0
  • Microsoft Windows NT Enterprise Server 4.0 SP1
  • Microsoft Windows NT Enterprise Server 4.0 SP2
  • Microsoft Windows NT Enterprise Server 4.0 SP3
  • Microsoft Windows NT Enterprise Server 4.0 SP4
  • Microsoft Windows NT Enterprise Server 4.0 SP5
  • Microsoft Windows NT Enterprise Server 4.0 SP6
  • Microsoft Windows NT Enterprise Server 4.0 SP6a
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Server 4.0 SP1
  • Microsoft Windows NT Server 4.0 SP2
  • Microsoft Windows NT Server 4.0 SP3
  • Microsoft Windows NT Server 4.0 SP4
  • Microsoft Windows NT Server 4.0 SP5
  • Microsoft Windows NT Server 4.0 SP6
  • Microsoft Windows NT Server 4.0 SP6a
  • Microsoft Windows NT Terminal Server 4.0
  • Microsoft Windows NT Terminal Server 4.0 SP1
  • Microsoft Windows NT Terminal Server 4.0 SP2
  • Microsoft Windows NT Terminal Server 4.0 SP3
  • Microsoft Windows NT Terminal Server 4.0 SP4
  • Microsoft Windows NT Terminal Server 4.0 SP5
  • Microsoft Windows NT Terminal Server 4.0 SP6
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 SP1
  • Microsoft Windows NT Workstation 4.0 SP2
  • Microsoft Windows NT Workstation 4.0 SP3
  • Microsoft Windows NT Workstation 4.0 SP4
  • Microsoft Windows NT Workstation 4.0 SP5
  • Microsoft Windows NT Workstation 4.0 SP6
  • Microsoft Windows NT Workstation 4.0 SP6a
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Datacenter Edition Itanium
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Enterprise Edition Itanium
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP 64-bit Edition
  • Microsoft Windows XP 64-bit Edition SP1
  • Microsoft Windows XP 64-bit Edition Version 2003
  • Microsoft Windows XP 64-bit Edition Version 2003 SP1
  • Microsoft Windows XP Home
  • Microsoft Windows XP Home SP1

References:

Juniper Networks provides this content via a wide variety of sources and production methods. If notified of errors or omissions in the content of this page, Juniper Networks, at its discretion, will modify or remove the page or leave the content as is, depending on various factors including but not limited to the reputation and authority of the party providing the notification. Please use the contact information displayed elsewhere on this page to report any errors or omissions regarding the content on this page.