TippingPoint Digital Vaccine Laboratories
DID YOU KNOW... TippingPoint customers were protected against 0-day exploitation of MS07-017 two years prior to the exploit being discovered in the wild.

Borland Interbase ibserver.exe 'create' Buffer Overflow Vulnerability

TPTI-07-13: July 20th, 2007


Affected Vendors

Affected Products

TippingPoint™ IPS Customer Protection

TippingPoint IPS customers are protected against this vulnerability by Digital Vaccine protection filter ID 5066. For further product information on the TippingPoint IPS:

Vulnerability Details

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Borland Interbase. Authentication is not required to exploit this vulnerability.

The specific flaw exists within the database service, ibserver.exe, which binds to TCP port 3050. The service receives socket data in the following format:

[4-byte request][request arguments][data]

A vulnerability exists in Interbase when specifying a "create" request (0x14). The request is broken down as such:

[0x00000014][4-byte id][4-byte size][data]

The vulnerability exists during an inline string copy operation.

0x0043A0C5 mov ecx, [ebp+var_8D8]
0x0043A0CB and ecx, 0FFFFh
0x0043A0D1 mov esi, [ebp+arg_8]
0x0043A0D4 mov edi, [ebp+var_1C]
0x0043A0D7 mov eax, ecx
0x0043A0D9 shr ecx, 2
0x0043A0DC rep movsd

Where ecx is our 4-byte size, esi is our data, and edi a stack pointer. When a large value is specified in the size, the associate data is copied to the stack resulting in a classic overflow. With enough data the SEH pointer can be compromised and arbitrary code execution is trivial.

Vendor Response

Borland has issued an update to correct this vulnerability. More details can be found at:

Disclosure Timeline

    2007-01-31 - Vulnerability reported to vendor
    2007-07-20 - Coordinated public release of advisory


This vulnerability was discovered by: