安全研究

安全漏洞
Post-query CGI远程缓冲区溢出漏洞

发布日期:2001-03-05
更新日期:2001-03-05

受影响系统:
NCSA Post-query All versions
描述:
CVE(CAN) ID: CVE-2001-0291

post-query是NCSA发布的一个常见的Unix下的CGI演示程序。它用C语言编写。很多Unix/Linux发布版本中都包含该CGI。

post-query存在一个远程缓冲区溢出漏洞,远程攻击者可能利用此漏洞在主机上以Web服务进程的权限执行任意指令。

如果向post-query提交超过10001个参数的请求,就会触发一个缓冲区溢出。精心构造该请求,可以在目标主机上执行任意代码。有问题的代码如下:
...

#define MAX_ENTRIES 10000

typedef struct {
    char *name;
    char *val;
} entry;

...

main(int argc, char *argv[]) {
    entry entries[MAX_ENTRIES];

...

    for(x=0;cl && (!feof(stdin));x++) {
        m=x;
        entries[x].val = fmakeword(stdin,'&',&cl);
        plustospace(entries[x].val);
        unescape_url(entries[x].val);
        entries[x].name = makeword(entries[x].val,'=');
    }

...


<*来源:proton (proton@energymech.net
  *>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 暂时删除或者禁止使用Post-query。

厂商补丁:

NCSA
----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.ncsa.uiuc.edu

浏览次数:4072
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障