Subject: clamav: clamscan fails to detect malware when using external archivers 
due to the filetype detection code
Package: clamav
Version: 0.93~dfsg-volatile1
Severity: grave
Justification: renders package unusable

When using external archivers to process files, clamscan fails to
detect malware in many cases. This is due to the fact that the filetype
detection code (clamscan/manager.c lines 708 ff.) matches the filename
against a hardcoded list of extensions (e.g. ".zip", ".rar", ".arj"
etc.). The external archiver is only called if the filename matches the
extension.

This obviously breaks the detection in cases where the filename doesn't
contain the required extension. Most cases of self-extracting archives
use ".exe" as a extension and thus aren't recognized at all. This
creates a huge gap ("wide open barndoor" would be the precise term, I
think), as very many cases of Windows malware come in the form of
self-extracting archives. Also, this breaks in cases where suspicious
files are scanned in a quarantine, using the MD5 sum as a filename.

Libclamav already contains code to recognize the file format
independently of a filetype extension (libclamav/scanners.c, lines 1554
ff., function cli_scanraw). This could/should be used to detect the
filetype when deciding whether to call an external archiver to process a
file.

This bug has also been opened in the upstream bugzilla
(<https://wwws.clamav.net/bugzilla/show_bug.cgi?id=1051>). However,
Debian is affected more than other distributions due to the fact that
clamscan on Debian relies on an external unrar in order to scan RAR
archives (because of the licensing issues). This bug means that
self-extracting RAR archives ARE NOT SCANNED correctly on Debian
systems. Many forms of (especially Windows) malware spread as
self-extracting RAR archives and ARE NOT DETECTED by Debian clamav
installations.

Greetings from Karlsruhe,

=ToJe=

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages clamav depends on:
ii  clamav-data         20080603.093500.7339 clamav data files
ii  libc6               2.7-10               GNU C Library: Shared libraries
ii  libclamav4          0.93~dfsg-volatile1  anti-virus utility for Unix - libr
ii  libgmp3c2           2:4.2.2+dfsg-3       Multiprecision arithmetic library
ii  zlib1g              1:1.2.3.3.dfsg-12    compression library - runtime

Versions of packages clamav recommends:
ii  arj                  3.10.22-4           archiver for .arj files
ii  clamav-base          0.93~dfsg-volatile1 anti-virus utility for Unix - base
ii  unzoo                4.4-7               zoo archive extractor

-- no debconf information
-- 
Torsten Jerzembeck            <[EMAIL PROTECTED]>
BFK edv-consulting GmbH       http://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to