涉及程序: sendmail 描述: sendmail存在报头解析缓冲溢出缺陷 详细: sendmail是一款网络上处理电子邮件的通信流量交换和路由计算的程序,类似缺省的Mail Transfer Agent (MTA),FreeBSD系统就包含了sendmail程序。 sendmail 5.79版之后的所有版本在报头解析时可能存在缓冲溢出缺陷。攻击者通过向sendmail发送一个精心构造的临时信息,能在系统上以root权限执行任意代码。sendmail能通过初始sendmail MTA、任何转播sendmail MTA或者通过传送sendmail过程处理恶意信息,并触发缺陷。 在ident程序中的缺陷是不可开发的。 攻击方法: 暂无有效攻击代码 解决方案: 1、将系统升级到4-STABLE,RELENG_5_0,RELENG_4_7, 或RELENG_4_6。 2、下载下列补丁(FreeBSD 5.0, 4.7,4.6系统): ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail.patch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail.patch.asc 或以root执行下列命令: # cd /usr/src # patch < /path/to/patch # cd /usr/src/lib/libsm # make obj && make depend && make # cd /usr/src/lib/libsmutil # make obj && make depend && make # cd /usr/src/usr.sbin/sendmail # make obj && make depend && make && make install 3、下载下列补丁(i386): ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.6-i386-nocrypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-4.7-i386-nocrypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-crypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-crypto.bin.gz.asc ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-nocrypto.bin.gz ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:04/sendmail-5.0-i386-nocrypto.bin.gz.asc 并以root执行下列命令: # BINARYGZ=/path/to/sendmail-4.7-i386-crypto.bin.gz # gunzip ${BINARYGZ} # install -s -o root -g smmsp -m 2555 ${BINARYGZ%.gz} /usr/libexec/sendmail/sendmail