diff options
author | Andrej Kacian <ticho@gentoo.org> | 2007-12-20 00:29:42 +0000 |
---|---|---|
committer | Andrej Kacian <ticho@gentoo.org> | 2007-12-20 00:29:42 +0000 |
commit | 5b902e01e6967b5aec45c3dfe5ce2819673e33c0 (patch) | |
tree | e67eed7984ea57135f5894476f7c2160199afb15 /app-antivirus | |
parent | Stable on x86 wrt #202087 (diff) | |
download | gentoo-2-5b902e01e6967b5aec45c3dfe5ce2819673e33c0.tar.gz gentoo-2-5b902e01e6967b5aec45c3dfe5ce2819673e33c0.tar.bz2 gentoo-2-5b902e01e6967b5aec45c3dfe5ce2819673e33c0.zip |
Add patches collected by Robert Buchholz <rbu at gentoo.org> to backport fixes for CVE-2007-5759, CVE-2007-6336 and CVE-2007-6337.
(Portage version: 2.1.4_rc9)
Diffstat (limited to 'app-antivirus')
-rw-r--r-- | app-antivirus/clamav/ChangeLog | 11 | ||||
-rw-r--r-- | app-antivirus/clamav/clamav-0.91.2-r1.ebuild | 143 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-5759.patch | 52 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6336.patch | 21 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6337.patch | 24 | ||||
-rw-r--r-- | app-antivirus/clamav/files/digest-clamav-0.91.2-r1 | 3 |
6 files changed, 253 insertions, 1 deletions
diff --git a/app-antivirus/clamav/ChangeLog b/app-antivirus/clamav/ChangeLog index 50f3089db2bf..962080090a9a 100644 --- a/app-antivirus/clamav/ChangeLog +++ b/app-antivirus/clamav/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-antivirus/clamav # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/ChangeLog,v 1.257 2007/12/17 18:38:43 ticho Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/ChangeLog,v 1.258 2007/12/20 00:29:41 ticho Exp $ + +*clamav-0.91.2-r1 (20 Dec 2007) + + 20 Dec 2007; Andrej Kacian <ticho@gentoo.org> + +files/clamav-0.91.2-CVE-2007-5759.patch, + +files/clamav-0.91.2-CVE-2007-6336.patch, + +files/clamav-0.91.2-CVE-2007-6337.patch, +clamav-0.91.2-r1.ebuild: + Add patches collected by Robert Buchholz <rbu at gentoo.org> to backport + fixes for CVE-2007-5759, CVE-2007-6336 and CVE-2007-6337. *clamav-0.92 (17 Dec 2007) diff --git a/app-antivirus/clamav/clamav-0.91.2-r1.ebuild b/app-antivirus/clamav/clamav-0.91.2-r1.ebuild new file mode 100644 index 000000000000..6a9a960b6570 --- /dev/null +++ b/app-antivirus/clamav/clamav-0.91.2-r1.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/clamav-0.91.2-r1.ebuild,v 1.1 2007/12/20 00:29:41 ticho Exp $ + +inherit autotools eutils flag-o-matic fixheadtails + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="http://www.clamav.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="bzip2 crypt mailwrapper milter nls selinux" + +DEPEND="virtual/libc + bzip2? ( app-arch/bzip2 ) + crypt? ( >=dev-libs/gmp-4.1.2 ) + milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) ) + nls? ( sys-devel/gettext ) + dev-libs/gmp + >=sys-libs/zlib-1.2.1-r3 + >=sys-apps/sed-4" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-clamav ) + sys-apps/grep" +PROVIDE="virtual/antivirus" + +pkg_setup() { + if use milter; then + if [ ! -e /usr/lib/libmilter.a ] ; then + ewarn "In order to enable milter support, clamav needs sendmail with enabled milter" + ewarn "USE flag. Either recompile sendmail with milter USE flag enabled, or disable" + ewarn "this flag for clamav as well to disable milter support." + die "need milter-enabled sendmail" + fi + fi + enewgroup clamav + enewuser clamav -1 -1 /dev/null clamav +} + +src_unpack() { + unpack "${A}" + cd "${S}" + epatch "${FILESDIR}"/${PN}-0.90-compat.patch + epatch "${FILESDIR}"/${PN}-0.90-nls.patch + epatch "${FILESDIR}"/${P}-CVE-2007-5759.patch + epatch "${FILESDIR}"/${P}-CVE-2007-6336.patch + epatch "${FILESDIR}"/${P}-CVE-2007-6337.patch + eautoreconf +} + +src_compile() { + has_version =sys-libs/glibc-2.2* && filter-lfs-flags + + local myconf + + # we depend on fixed zlib, so we can disable this check to prevent redundant + # warning (bug #61749) + myconf="${myconf} --disable-zlib-vcheck" + # use id utility instead of /etc/passwd parsing (bug #72540) + myconf="${myconf} --enable-id-check" + use milter && { + myconf="${myconf} --enable-milter" + use mailwrapper && \ + myconf="${myconf} --with-sendmail=/usr/sbin/sendmail.sendmail" + } + + ht_fix_file configure + econf ${myconf} \ + $(use_enable bzip2) \ + $(use_enable nls) \ + --disable-experimental \ + --with-dbdir=/var/lib/clamav || die + emake || die +} + +src_install() { + make DESTDIR="${D}" install || die + dodoc AUTHORS BUGS NEWS README ChangeLog FAQ + newconfd "${FILESDIR}"/clamd.conf clamd + newinitd "${FILESDIR}"/clamd.rc clamd + dodoc "${FILESDIR}"/clamav-milter.README.gentoo + + dodir /var/run/clamav + keepdir /var/run/clamav + fowners clamav:clamav /var/run/clamav + dodir /var/log/clamav + keepdir /var/log/clamav + fowners clamav:clamav /var/log/clamav + + # Change /etc/clamd.conf to be usable out of the box + sed -i -e "s:^\(Example\):\# \1:" \ + -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/clamd.pid:" \ + -e "s:.*\(LocalSocket\) .*:\1 /var/run/clamav/clamd.sock:" \ + -e "s:.*\(User\) .*:\1 clamav:" \ + -e "s:^\#\(LogFile\) .*:\1 /var/log/clamav/clamd.log:" \ + -e "s:^\#\(LogTime\).*:\1 yes:" \ + "${D}"/etc/clamd.conf + + # Do the same for /etc/freshclam.conf + sed -i -e "s:^\(Example\):\# \1:" \ + -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/freshclam.pid:" \ + -e "s:.*\(DatabaseOwner\) .*:\1 clamav:" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 /var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 /etc/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + "${D}"/etc/freshclam.conf + + if use milter ; then + echo "START_MILTER=no" \ + >> "${D}"/etc/conf.d/clamd + echo "MILTER_SOCKET=\"/var/run/clamav/clmilter.sock\"" \ + >>"${D}"/etc/conf.d/clamd + echo "MILTER_OPTS=\"-m 10 --timeout=0\"" \ + >>"${D}"/etc/conf.d/clamd + fi + + diropts "" + dodir /etc/logrotate.d + insopts -m0644 + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} +} + +pkg_postinst() { + echo + if use milter ; then + elog "For simple instructions how to setup the clamav-milter" + elog "read /usr/share/doc/${PF}/clamav-milter.README.gentoo.gz" + echo + fi + ewarn "Warning: clamd and/or freshclam have not been restarted." + ewarn "You should restart them to start using new version: /etc/init.d/clamd restart" + echo + ewarn "The soname for libclamav has changed after clamav-0.90." + ewarn "If you have upgraded from that or earlier version, it is recommended to run:" + ewarn + ewarn "revdep-rebuild --library libclamav.so.1" + ewarn + ewarn "This will fix linking errors caused by this change." + echo +} diff --git a/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-5759.patch b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-5759.patch new file mode 100644 index 000000000000..d879eb7f65be --- /dev/null +++ b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-5759.patch @@ -0,0 +1,52 @@ +Thu Dec 6 15:22:27 CET 2007 (tk) +--------------------------------- + * libclamav/pe.c: fix possible integer overflow in MEW related code + Reported by iDefense [IDEF2842] + + Backported by <sgran@debian.org> + + SVN r3376 + +Index: clamav-0.91.2/libclamav/pe.c +=================================================================== +--- clamav-0.91.2.orig/libclamav/pe.c ++++ clamav-0.91.2/libclamav/pe.c +@@ -80,6 +80,18 @@ + #define PEALIGN(o,a) (((a))?(((o)/(a))*(a)):(o)) + #define PESALIGN(o,a) (((a))?(((o)/(a)+((o)%(a)!=0))*(a)):(o)) + ++#define CLI_UNPSIZELIMITS(NAME,CHK) \ ++if(ctx->limits && ctx->limits->maxfilesize && (CHK) > ctx->limits->maxfilesize) { \ ++ cli_dbgmsg(NAME": Sizes exceeded (%lu > %lu)\n", (CHK), ctx->limits->maxfilesize); \ ++ free(exe_sections); \ ++ if(BLOCKMAX) { \ ++ *ctx->virname = "PE."NAME".ExceededFileSize"; \ ++ return CL_VIRUS; \ ++ } else { \ ++ return CL_CLEAN; \ ++ } \ ++} ++ + extern short cli_leavetemps_flag; + + struct offset_list { +@@ -1153,16 +1165,9 @@ int cli_scanpe(int desc, cli_ctx *ctx) + dsize = exe_sections[i].vsz; + + cli_dbgmsg("MEW: ssize %08x dsize %08x offdiff: %08x\n", ssize, dsize, offdiff); +- if(ctx->limits && ctx->limits->maxfilesize && (ssize + dsize > ctx->limits->maxfilesize || exe_sections[i + 1].rsz > ctx->limits->maxfilesize)) { +- cli_dbgmsg("MEW: Sizes exceeded (ssize: %u, dsize: %u, max: %lu)\n", ssize, dsize , ctx->limits->maxfilesize); +- free(exe_sections); +- if(BLOCKMAX) { +- *ctx->virname = "PE.MEW.ExceededFileSize"; +- return CL_VIRUS; +- } else { +- return CL_CLEAN; +- } +- } ++ ++ CLI_UNPSIZELIMITS("MEW", MAX(ssize, dsize)); ++ CLI_UNPSIZELIMITS("MEW", MAX(ssize + dsize, exe_sections[i + 1].rsz)); + + /* allocate needed buffer */ + if (!(src = cli_calloc (ssize + dsize, sizeof(char)))) { diff --git a/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6336.patch b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6336.patch new file mode 100644 index 000000000000..41cc474888c2 --- /dev/null +++ b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6336.patch @@ -0,0 +1,21 @@ +Thu Dec 6 15:15:45 CET 2007 (tk) +--------------------------------- + * libclamav/mspack.c: fix off-by-one error in LZX_READ_HUFFSYM() (bb#663) + + https://wwws.clamav.net/bugzilla/show_bug.cgi?id=663 + + SVN r3374 + +Index: clamav-0.91.2/libclamav/mspack.c +=================================================================== +--- clamav-0.91.2.orig/libclamav/mspack.c ++++ clamav-0.91.2/libclamav/mspack.c +@@ -734,7 +734,7 @@ void mszip_free(struct mszip_stream *zip + + #define LZX_ENSURE_BITS(nbits) \ + while (bits_left < (nbits)) { \ +- if (i_ptr >= i_end) { \ ++ if (i_ptr + 1 >= i_end) { \ + if (lzx_read_input(lzx)) return lzx->error; \ + i_ptr = lzx->i_ptr; \ + i_end = lzx->i_end; \ diff --git a/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6337.patch b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6337.patch new file mode 100644 index 000000000000..71edc47c61c3 --- /dev/null +++ b/app-antivirus/clamav/files/clamav-0.91.2-CVE-2007-6337.patch @@ -0,0 +1,24 @@ +Mon Dec 10 15:54:20 CET 2007 (tk) +--------------------------------- + * libclamav/nsis/bzlib_private.h: fix bzlib bug (aCaB) + + SVN r3387 + +Index: clamav-0.91.2/libclamav/nsis/bzlib_private.h +=================================================================== +--- clamav-0.91.2.orig/libclamav/nsis/bzlib_private.h ++++ clamav-0.91.2/libclamav/nsis/bzlib_private.h +@@ -422,11 +422,13 @@ typedef + /*-- Macros for decompression. --*/ + + #define BZ_GET_FAST(cccc) \ ++ if (s->tPos >= s->blockSize100k * 100000) return True; \ + s->tPos = s->tt[s->tPos]; \ + cccc = (UChar)(s->tPos & 0xff); \ + s->tPos >>= 8; + + #define BZ_GET_FAST_C(cccc) \ ++ if (c_tPos >= s->blockSize100k * 100000) return True; \ + c_tPos = c_tt[c_tPos]; \ + cccc = (UChar)(c_tPos & 0xff); \ + c_tPos >>= 8; diff --git a/app-antivirus/clamav/files/digest-clamav-0.91.2-r1 b/app-antivirus/clamav/files/digest-clamav-0.91.2-r1 new file mode 100644 index 000000000000..dff507b523df --- /dev/null +++ b/app-antivirus/clamav/files/digest-clamav-0.91.2-r1 @@ -0,0 +1,3 @@ +MD5 2a7265d17cfa80c32858978f16a3f47b clamav-0.91.2.tar.gz 13394538 +RMD160 9e181a7a4fd08377ff47663aed27f8cc97249a21 clamav-0.91.2.tar.gz 13394538 +SHA256 dac9de86dff5ef4c9a6e4962da24988e1aa74948a21b7fb7b7fed17867ddf2a0 clamav-0.91.2.tar.gz 13394538 |