TippingPoint Digital Vaccine Laboratories
DID YOU KNOW... Frost and Sullivan announced in their Feb. 2007 report, "Analysis of Vulnerability Discovery and Disclosure", that TippingPoint was the fastest growing discoverer of new vulnerabilities and the leader in the discovery of both high-severity and Microsoft vulnerabilities.

Borland Interbase ibserver.exe 'create' Buffer Overflow Vulnerability

TPTI-07-13: July 20th, 2007

CVE ID

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

Credit

This vulnerability was discovered by: