DB2 UDB
- Handshake Protocol DoS Attack (BID 19586)
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
Imperva’s
Application
Defense
Center is conducting an extensive
research of the DRDA protocol and its
implementation. As part of the research the team has identified
vulnerability in
DB2 UDB’s
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 ACCSEC command
during the handshake process with the server, causing the server process to
crash.
Details
A simple connection establishment process to the
DB2 UDB server
with a user-password authentication consists of
several commands: EXCSAT (Exchange Server Attributes), ACCSEC (Access
Security), SECCHK
(Security Check) and
ACCRDB (Access
RDB). The
RDBNAM parameter, which appears in some of
them, specifies the name of the RDB that the
command accesses (according to the documentation, if this parameter is
specified, its value must be the same as the
value specified on the ACCRDB command for
RDBNAM). ACCSEC usually appears twice during
the handshake process.
It turns out that if the
RDBNAM parameter is omitted from the first
ACCSEC command, the DB2 UDB server becomes
unstable, while the establishment of the connection may continue successfully.
Once the connection is established, a simple command (such as SELECT)
sent through the connection causes the service to terminate
unexpectedly.
Exploit
Send a connection establishment request to the
DB2 UDB
server, where the RDBNAM parameter is
omitted from the first ACCSEC command. After
the connection is established, send a simple query (e.g.: SELECT * FROM dummy).
Tested Versions
Vulnerable
DB2
UDB version 8.x all
platforms.
Not Vulnerable
Vendor’s Status
January
11th 2006 – Vendor Notified
August
14th 2006 – Patched in UDB 8.1 FixPak 13, APAR is IY87211
August
18th 2006 – Reported by vendor to Bugtraq and labeled as
BID 19586
Workaround
None.
Credit
Discovered by Tal Ryterski from Imperva
Inc.