首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第51期->最新漏洞
期刊号: 类型: 关键词:
OpenFTPD远程格式串处理导致任意指令执行漏洞

日期:2004-09-06

发布日期: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_
版权所有,未经许可,不得转载