安全研究

安全漏洞
UW-IMAP tmail及dmail本地栈溢出漏洞

发布日期:2008-11-03
更新日期:2008-11-07

受影响系统:
University of Washington imap 2002 - 2007c
不受影响系统:
University of Washington imap 2007d
描述:
BUGTRAQ  ID: 32072
CVE(CAN) ID: CVE-2008-5005

UW-IMAP是Linux和UNIX系统的免费IMAP服务,捆绑于各种Linux版本中。

tmail和dmail都是UW-IMAP所使用的邮件传输代理,这两个应用没有对从命令行所传送的文件名扩展名参数执行边界检查,如果用户提交了超长的文件夹名称的话就可以触发栈溢出。

对于tmail,这个溢出可能导致以root用户权限执行任意代码;对于dmail,可能导致以收件人的权限执行任意代码。以下是存在漏洞的代码段:

  [tmail.c]
    char *getusername (char *s,char **t)
    {
      char tmp[MAILTMPLEN];
      if (*t = strchr (s,'+')) {    /* have a mailbox specifier? */
        *(*t)++ = '\0';             /* yes, tie off user name */
                                    /* user+ and user+INBOX same as user */
        if (!**t || !strcmp ("INBOX",ucase (strcpy (tmp,*t)))) *t = NIL;
      }
      return s;                     /* return user name */
    }

  [dmail.c]
    int deliver (FILE *f,unsigned long msglen,char *user)
    {
      MAILSTREAM *ds = NIL;
      char *s,*mailbox,tmp[MAILTMPLEN],path[MAILTMPLEN];
      STRING st;
      struct stat sbuf;
                                    /* have a mailbox specifier? */
      if (mailbox = strchr (user,'+')) {
        *mailbox++ = '\0';          /* yes, tie off user name */
        if (!*mailbox || !strcmp ("INBOX",ucase (strcpy (tmp,mailbox))))
          mailbox = NIL;            /* user+ and user+INBOX same as user */
      }
    (..)

user+folder命令行参数分别通过s和user字符指针到达deliver()和getusername()。folder部分与user部分分离并拷贝到tmp缓冲区。由于该缓冲区位于栈上,超长的文件夹名称就可以导致覆盖栈上数据。

<*来源:Aron Andersson (aron.andersson@bitsec.com
        Jan Sahlin (jan.sahlin@bitsec.com
  
  链接:http://marc.info/?l=bugtraq&m=122573702401947&w=2
        https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=469667
        http://mailman2.u.washington.edu/pipermail/imap-uw/2008-October/002267.html
        http://secunia.com/advisories/32483/
        https://www.redhat.com/support/errata/RHSA-2009-0275.html
*>

建议:
厂商补丁:

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2009:0275-01)以及相应补丁:
RHSA-2009:0275-01:Moderate: imap security update
链接:https://www.redhat.com/support/errata/RHSA-2009-0275.html

University of Washington
------------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

ftp://ftp.cac.washington.edu/imap

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