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 ‘^]’.
漏洞的起因是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);
}
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 ">=3Dnet-mail/dbmail-2.2.9"
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<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>