Progress 4GL Compiler Datatype本地缓冲区溢出漏洞
发布日期:2003-06-20
更新日期:2003-06-27
受影响系统:Progress 4GL Compiler 9.1 D06
描述:
BUGTRAQ ID:
7997
CVE(CAN) ID:
CVE-2003-0485
Progress 4GL Compiler是Progress应用程序编译器。
Progress 4GL编译器在编译.p文件时不正确处理用户定义的数据类型,本地攻击者可以利用这个漏洞触发缓冲区溢出,可能以高权限用户执行任意指令。
一般一个合法的数据类型为"char", "integer", "date"等,当编译器尝试解析非法数据类型时会显示如下信息:
** Invalid datatype -- sample types are: char, integer, date, logical (222)
** overflow.p Could not understand line 1. (196)
在显示信息后,用户按空格键会退出。
如果非法数据类型超过364字符,编译器由于不正确使用memmove()函数,会导致段错误。如下面的数据类型:
def var andrew as AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA00001111
上面的0000就会覆盖EBP,1111会覆盖EIP。
精心构建非法数据类型,并诱使其他用户使用编译器处理.p文件,就可能以其他用户权限在系统上执行任意指令。
<*来源:KF (
dotslash@snosoft.com)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=105613243117155&w=2
*>
建议:
厂商补丁:
Progress
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.progress.com浏览次数:2854
严重程度:0(网友投票)