Vulnerabilities > CVE-2004-1876 - Unspecified vulnerability in Clam Anti-Virus Clamav

047910
CVSS 4.6 - MEDIUM
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
local
low complexity
clam-anti-virus
nessus

Summary

The "%f" feature in the VirusEvent directive in Clam AntiVirus daemon (clamd) before 0.70 allows local users to execute arbitrary commands via shell metacharacters in a file name.

Nessus

NASL familyGentoo Local Security Checks
NASL idGENTOO_GLSA-200405-03.NASL
descriptionThe remote host is affected by the vulnerability described in GLSA-200405-03 (ClamAV VirusEvent parameter vulnerability) The VirusEvent parameter in the clamav.conf configuration file allows to specify a system command to run whenever a virus is found. This system command can make use of the
last seen2020-06-01
modified2020-06-02
plugin id14489
published2004-08-30
reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/14489
titleGLSA-200405-03 : ClamAV VirusEvent parameter vulnerability
code
#%NASL_MIN_LEVEL 80502
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200405-03.
#
# The advisory text is Copyright (C) 2001-2015 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike 
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#

include("compat.inc");

if (description)
{
  script_id(14489);
  script_version("1.16");
  script_cvs_date("Date: 2019/08/02 13:32:41");

  script_cve_id("CVE-2004-1876");
  script_xref(name:"GLSA", value:"200405-03");

  script_name(english:"GLSA-200405-03 : ClamAV VirusEvent parameter vulnerability");
  script_summary(english:"Checks for updated package(s) in /var/db/pkg");

  script_set_attribute(
    attribute:"synopsis", 
    value:
"The remote Gentoo host is missing one or more security-related
patches."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"The remote host is affected by the vulnerability described in GLSA-200405-03
(ClamAV VirusEvent parameter vulnerability)

    The VirusEvent parameter in the clamav.conf configuration file allows
    to specify a system command to run whenever a virus is found. This
    system command can make use of the '%f' parameter which is replaced by
    the name of the file infected. The name of the file scanned is under
    control of the attacker and is not sufficiently checked. Version 0.70
    of clamav disables the use of the '%f' parameter.
  
Impact :

    Sending a virus with a malicious file name can result in execution of
    arbitrary system commands with the rights of the antivirus process.
    Since clamav is often associated to mail servers for email scanning,
    this attack can be used remotely.
  
Workaround :

    You should not use the '%f' parameter in your VirusEvent configuration."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.clamav.net/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200405-03"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All users of Clam AntiVirus should upgrade to the latest stable
    version:
    # emerge sync
    # emerge -pv '>=app-antivirus/clamav-0.70'
    # emerge '>=app-antivirus/clamav-0.70'"
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:clamav");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2004/05/11");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/08/30");
  script_set_attribute(attribute:"vuln_publication_date", value:"2004/03/31");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2004-2019 Tenable Network Security, Inc.");
  script_family(english:"Gentoo Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("qpkg.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;

if (qpkg_check(package:"app-antivirus/clamav", unaffected:make_list("ge 0.70"), vulnerable:make_list("lt 0.70"))) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:qpkg_report_get());
  else security_warning(0);
  exit(0);
}
else
{
  tested = qpkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "app-antivirus/clamav");
}