Sendmail是一个被广泛使用的邮件传输代理(Mail Transfer Agent)。Sendmail 8.10.0到8.11.5之间(也包括这两个版本)的版本和一些8.12的测试版本存在一个本地安全缺陷,本地攻击者可以通过这个缺陷获得root权限。
来自Securityfocus的Cade Cairns发现在Sendmail的调试函数中存在一个输入合法性检测错误。这个处理-d命令选项的函数使用一个符号整数作为这个选项的参数,并且把这个整数作为一个内部向量的索引。但是这个函数不对这个索引的正负进行检查,使本地攻击者可以通过向这个参数输入一个很大的数造成溢出,从而在向量之外写入数据。同时,这个缺陷的攻击代码已经广为流传了。
解决方案
Sendmail的作者已经发布了8.11.6版,修补了这个漏洞。所有使用Sendmail的用户必须马上升级。
注意,在升级软件包时,如果Sendmail正在运行,那么升级完成后,Sendmail将自动重启。
一些用户报告,可能需要重新建立/etc/mail目录下的散列文件(hash files)。例如:
#cd /etc/mail
#makemap hash virtusertable.db
重新建立别名文件需要执行如下命令:
#newaliases
软件下载连接
ftp://atualizacoes.conectiva.com.br/6.0/SRPMS/Sendmail-8.11.6-1U60_1cl.src.rpm
ftp://atualizacoes.conectiva.com.br/6.0/RPMS/Sendmail-cf-8.11.6-1U60_1cl.i386.rpm
ftp://atualizacoes.conectiva.com.br/6.0/RPMS/Sendmail-8.11.6-1U60_1cl.i386.rpm
ftp://atualizacoes.conectiva.com.br/6.0/RPMS/Sendmail-doc-8.11.6-1U60_1cl.i386.rpm
ftp://atualizacoes.conectiva.com.br/7.0/SRPMS/Sendmail-8.11.6-1U70_1cl.src.rpm
ftp://atualizacoes.conectiva.com.br/7.0/RPMS/Sendmail-cf-8.11.6-1U70_1cl.i386.rpm
ftp://atualizacoes.conectiva.com.br/7.0/RPMS/Sendmail-8.11.6-1U70_1cl.i386.rpm
ftp://atualizacoes.conectiva.com.br/7.0/RPMS/Sendmail-doc-8.11.6-1U70_1cl.i386.rpm