首页 -> 安全研究

安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障