An attacker can send a specially crafted EXCSAT command during the handshake process with the server, causing the server process to crash in the DB2 Universal Database versions 8.x.
c98ea2020768ceafc724a6ef194ffa77adce1cf1b41123451210d5e693131c72
DB2 UDB - Unauthenticated Buffer Overflow and DoS (BID 18428)
Background:
DB2 Universal Database (UDB) is a popular database software package from IBM available for legacy platforms as well as open systems (Unix and Windows). Clients use a protocol called DRDA to communicate with the DB2 UDB server. Protocol messages are used for session setup, authentication and data transfer
Scope:
Impervas Application Defense Center is conducting an extensive research of the DRDA protocol and its implementation. As part of the research the team has identified severe vulnerability in DB2 UDBs connection establishment mechanism that allows an attacker to terminate the UDB service, effectively denying service from all database users.
Findings:
An attacker can send a specially crafted EXCSAT command during the handshake process with the server, causing the server process to crash. It seems that the command invokes a buffer overflow condition on the server possibly allowing execution of arbitrary code on the server.
Details:
The first message used by a client when establishing a connection to the database is the EXCSAT message (message code 0x1041). This message includes an object called MGRLVLLS (code 0x2114) which in term contains a vector of 4 byte entries (two bytes for the manager code and two byte for the compatibility level). When the size of the MGRLVLLS message is large enough a buffer overflow condition is invoked.
If the client terminates the connection immediately after sending this message the server process is terminated.
Exploit:
Create an EXCSAT message with a very long (>1Kbytes) MGRLVLLS message. (see attached)
Tested Versions
Vulnerable:
DB2 UDB version 8.x all platforms
Not Vulnerable:
Vendors Status:
- Vendor notified on Feb-8, 2006.
- Vulnerability patched in UDB 8.x FixPak 12 on May 5th 2006, APAR is IY84096
- Reported by vendor to Bugtraq on June 14th 2006 and labeled BID 18428
Workaround:
None