OpenFTPD远程格式串处理导致任意指令执行漏洞
发布日期:2004-07-30
更新日期:2004-08-02
受影响系统:OpenFTPD OpenFTPD 0.30.2
OpenFTPD OpenFTPD 0.29.4
描述:
BUGTRAQ ID:
10830
openftpd是一款开放源代码FTPD程序。
openftpd不正确处理部分命令参数,远程攻击者可以利用这个漏洞进行格式串攻击,可能以进程权限在系统上执行任意指令。
问题存在于'misc/msg.c'文件中,攻击者提交如下的命令格式:
site msg send andi "AAAA%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x]"
可触发格式串问题,破坏内存信息,精心构建提交数据可能以openftpd进程权限在系统上执行任意指令。
<*来源:VOID.AT Security (
crew@void.at)
链接:
http://marc.theaimsgroup.com/?t=109119041400001&r=1&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
VOID.AT Security (
crew@void.at)提供了如下测试方法:
site msg send andi "AAAA%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x|%08x]"
建议:
厂商补丁:
OpenFTPD
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页升级到最新的CVS版本:
http://www.openftpd.org:9673/openftpd
cat > openftpd_formatstring.patch << _EOF_
--- openftpd-daily.orig/src/misc/msg.c 2004-07-05 22:02:43.000000000 +0200
+++ openftpd-daily/src/misc/msg.c 2004-07-13 18:05:01.000000000 +0200
@@ -319,7 +319,7 @@
while (fgets(buff, 67, file)) {
if (*(buff+strlen(buff)-1) =3D=3D '\n') *(buff+strlen(buff)-1) =3D 0;
sprintf(str, " !C| !0%-66s !C|!0\n", buff);
- printf(str);
+ printf("%s", str);
}
fclose(file);
printf("!C \\__________________________________________________!Hend =
of message!C__/!0\n");
_EOF_
浏览次数:6869
严重程度:0(网友投票)