DBMail空LDAP口令绕过认证漏洞

2008-04-23T00:00:00
ID SSV:3203
Type seebug
Reporter Root
Modified 2008-04-23T00:00:00

Description

BUGTRAQ ID: 28849 CVE(CAN) ID: CVE-2007-6714

Dbmail是一个程序集,允许从数据库检索和存储邮件,可使用MySQL、PostgreSQL和SQLite作为数据库后端。

Dbmail的认证过程存在安全漏洞,如果启用了authldap模块且LDAP服务器允许匿名登录,则任何用户都可以使用空口令字符串登录到任意帐号。

h000 ~ # telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. OK dbmail imap (protocol version 4r1) server 2.2 ready to run a login [EMAIL PROTECTED] "" a OK LOGIN completed a logout BYE dbmail imap server kisses you goodbye a OK completed Connection closed by foreign host.

漏洞的起因是ldap_bind_s函数:

   int ldap_bind_s(LDAP *ld, const char *who, const char *cred,
          int method);

如果cred参数为""的话,ldap库就会试图认证为匿名,bind返回成功,因此dbmail就允许用户进入到邮箱。

modules/authldap.c:1263 if (ldap_err) { TRACE(TRACE_ERROR, "ldap_bind_s failed: %s", ldap_err2string(ldap_err)); user_idnr = 0; } else { db_user_log_login(user_idnr); }

NFG Dbmail < 2.2.9 Gentoo


Gentoo已经为此发布了一个安全公告(GLSA-200804-24)以及相应补丁: GLSA-200804-24:DBmail: Data disclosure 链接:<a href=http://security.gentoo.org/glsa/glsa-200804-24.xml target=_blank>http://security.gentoo.org/glsa/glsa-200804-24.xml</a>

所有DBMail用户都应升级到最新版本:

 # emerge --sync
 # emerge --ask --oneshot --verbose &quot;&gt;=3Dnet-mail/dbmail-2.2.9&quot;

NFG

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

<a href=http://www.dbmail.org/index.php?page=news&id=44 target=_blank>http://www.dbmail.org/index.php?page=news&id=44</a>