漏洞信息详情
Oracle数据库Parameter/Statement缓冲区溢出漏洞
- CNNVD编号:CNNVD-200412-010
- 危害等级: 超危
- CVE编号:
CVE-2003-1208
- 漏洞类型:
边界条件错误
- 发布时间:
2004-02-05
- 威胁类型:
远程
- 更新时间:
2006-05-01
- 厂 商:
oracle - 漏洞来源:
NGSSoftware※ mark@… -
漏洞简介
Oracle是一款大型数据库软件。
Oracle在处理部分参数和函数时缺少充分缓冲区边界检查,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以数据库进程权限执行任意指令。
Oralce存在多个缓冲区溢出,具体如下:
1、TIME_ZONE参数指定默认时区置换,TIME_ZONE仅是一个会话参数,而不是一个初始化参数,一个类似的合法请求为:
ALTER SESSION SET TIME_ZONE = \’\’-5:00\’\’;
TIME_ZONE参数由于缺少充分缓冲区边界检查,提交包含超长字符串的请求可导致触发缓冲区溢出,如:
ALTER SESSION SET TIME_ZONE = \’\’<long string here>\’\’; SELECT
CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;
默认情况下,任意用户可以提交此请求。上面的攻击必须使用SCOTT / TIGER帐户。
2、NUMTOYMINTERVAL是用于转换N为一个INTERVAL YEAR TO MONTH,n可以为数字或数字表达式,char_expr可以为CHAR, VARCHAR2, NCHAR, or NVARCHAR2数据类型,类似合法请求为:
SELECT last_name, hire_date, salary, SUM(salary)
OVER (ORDER BY hire_date
RANGE NUMTOYMINTERVAL(1,\’\’year\’\’) PRECEDING) AS t_sal
FROM employees;
n = 1
char_expr = year
NUMTOYMINTERVAL函数由于对参数缺少充分缓冲区边界检查,提交包含超长字符串的请求可导致触发缓冲区溢出,如:
SELECT last_name, hire_date, salary, SUM(salary)
OVER (ORDER BY hire_date
RANGE NUMTOYMINTERVAL(1,\’\’<long string here>\’\’) PRECEDING) AS t_sal
FROM employees;
默认情况下,任意用户可以提交此请求。上面的攻击必须使用SCOTT / TIGER帐户。
3、NUMTODSINTERVAL是用于转换n为INTERVAL DAY TO SECOND的函数,n可以为数字或数字表达式,char_expr可以为CHAR, VARCHAR2, NCHAR, or NVARCHAR2数据类型,类似合法请求为:
SELECT manager_id, last_name, hire_date,
COUNT(*) OVER (PARTITION BY manager_id ORDER BY hire_date
RANGE NUMTODSINTERVAL(100, \’\’day\’\’) PRECEDING) AS t_count
FROM employees;
n = 100
char_expr = day
NUMTODSINTERVAL函数由于对参数缺少充分边界缓冲区检查,提交包含超长字符串的请求可导致触发缓冲区溢出,如:
SELECT empno, ename, hiredate, COUNT(*) OVER (PARTITION BY empno ORDER BY
hiredate RANGE NUMTODSINTERVAL(100, \’\’<long string here>\’\’) PRECEDING) AS
t_count FROM emp;
默认情况下,任意用户可以提交此请求。上面的攻击必须使用SCOTT / TIGER帐户。
4、FROM_TZ函数用于转换时间戳,类似请求如下:
SELECT FROM_TZ(TIMESTAMP \’\’2003-09-8 08:00:00\’\’, \’\’12:00\’\’) FROM DUAL;
此语法返回如下值:
which would return the values
FROM_TZ函数对TZD参数缺少充分边界缓冲区检查,提交包含超长字符串的请求可导致触发缓冲区溢出,如:
SELECT FROM_TZ(TIMESTAMP \’\’2000-03-28 08:00:00\’\’,\’\’long string here\’\’) FROM
DUAL;
默认情况下,任意用户可以提交此请求。
漏洞公告
厂商补丁:
Oracle
——
Oracle 9i Database Release 2, version 9.2.0.3已经修正此漏洞,要更多Oracle安全补丁信息,请访问Oracle Metalink site:
http://metalink.oracle.com” target=”_blank”>
http://metalink.oracle.com
参考网址
来源:US-CERT Vulnerability Note: VU#846582
名称: VU#846582
链接:http://www.kb.cert.org/vuls/id/846582
来源:US-CERT Vulnerability Note: VU#819126
名称: VU#819126
链接:http://www.kb.cert.org/vuls/id/819126
来源:US-CERT Vulnerability Note: VU#399806
名称: VU#399806
链接:http://www.kb.cert.org/vuls/id/399806
来源:US-CERT Vulnerability Note: VU#240174
名称: VU#240174
链接:http://www.kb.cert.org/vuls/id/240174
来源: XF
名称: oracle-multiple-function-bo(15060)
链接:http://xforce.iss.net/xforce/xfdb/15060
来源: BID
名称: 9587
链接:http://www.securityfocus.com/bid/9587
来源: OSVDB
名称: 3840
链接:http://www.osvdb.org/3840
来源: OSVDB
名称: 3839
链接:http://www.osvdb.org/3839
来源: OSVDB
名称: 3838
链接:http://www.osvdb.org/3838
来源: OSVDB
名称: 3837
链接:http://www.osvdb.org/3837
来源: www.nextgenss.com
链接:http://www.nextgenss.com/advisories/ora_numtoyminterval.txt
来源: www.nextgenss.com
链接:http://www.nextgenss.com/advisories/ora_numtodsinterval.txt
来源: www.nextgenss.com
链接:http://www.nextgenss.com/advisories/ora_from_tz.txt
来源: CIAC
名称: O-093
链接:http://www.ciac.org/ciac/bulletins/o-093.shtml
来源: SECUNIA
名称: 10805
链接:http://secunia.com/advisories/10805
来源: www.nextgenss.com
链接:http://www.nextgenss.com/advisories/ora_time_zone.txt
来源: BUGTRAQ
名称: 20040205 Oracle Database 9ir2 Interval Conversion Functions Buffer Overflow
链接:http://archives.neohapsis.com/archives/vulnwatch/2004-q1/0030.html