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(网友投票)