Vulnerabilities > CVE-2004-1037 - Remote Arbitrary Command Execution vulnerability in TWiki Search Shell Metacharacter

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
twiki
gentoo
critical
nessus
exploit available
metasploit

Summary

The search function in TWiki 20030201 allows remote attackers to execute arbitrary commands via shell metacharacters in a search string.

Vulnerable Configurations

Part Description Count
Application
Twiki
1
OS
Gentoo
1

Exploit-Db

  • descriptionTWiki Search Function Arbitrary Command Execution. CVE-2004-1037. Webapps exploit for php platform
    idEDB-ID:16894
    last seen2016-02-02
    modified2010-07-03
    published2010-07-03
    reportermetasploit
    sourcehttps://www.exploit-db.com/download/16894/
    titleTWiki Search Function Arbitrary Command Execution
  • descriptionTWiki 20030201 search.pm Remote Command Execution Exploit. CVE-2004-1037. Webapps exploit for cgi platform
    idEDB-ID:642
    last seen2016-01-31
    modified2004-11-20
    published2004-11-20
    reporterRoMaNSoFt
    sourcehttps://www.exploit-db.com/download/642/
    titleTWiki 20030201 - search.pm Remote Command Execution Exploit

Metasploit

descriptionThis module exploits a vulnerability in the search component of TWiki. By passing a 'search' parameter containing shell metacharacters to the 'WebSearch' script, an attacker can execute arbitrary OS commands.
idMSF:EXPLOIT/UNIX/WEBAPP/TWIKI_SEARCH
last seen2020-06-01
modified2017-07-24
published2010-02-21
references
reporterRapid7
sourcehttps://github.com/rapid7/metasploit-framework/blob/master//modules/exploits/unix/webapp/twiki_search.rb
titleTWiki Search Function Arbitrary Command Execution

Nessus

  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-200411-33.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-200411-33 (TWiki: Arbitrary command execution) The TWiki search function, which uses a shell command executed via the Perl backtick operator, does not properly escape shell metacharacters in the user-provided search string. Impact : An attacker can insert malicious commands into a search request, allowing the execution of arbitrary commands with the privileges of the user running TWiki (usually the Web server user). Workaround : There is no known workaround at this time.
    last seen2020-06-01
    modified2020-06-02
    plugin id15827
    published2004-11-24
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/15827
    titleGLSA-200411-33 : TWiki: Arbitrary command execution
    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 200411-33.
    #
    # 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(15827);
      script_version("1.19");
      script_cvs_date("Date: 2019/08/02 13:32:42");
    
      script_cve_id("CVE-2004-1037");
      script_xref(name:"GLSA", value:"200411-33");
    
      script_name(english:"GLSA-200411-33 : TWiki: Arbitrary command execution");
      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-200411-33
    (TWiki: Arbitrary command execution)
    
        The TWiki search function, which uses a shell command executed via the
        Perl backtick operator, does not properly escape shell metacharacters
        in the user-provided search string.
      
    Impact :
    
        An attacker can insert malicious commands into a search request,
        allowing the execution of arbitrary commands with the privileges of the
        user running TWiki (usually the Web server user).
      
    Workaround :
    
        There is no known workaround at this time."
      );
      # http://twiki.org/cgi-bin/view/Codev/SecurityAlertExecuteCommandsWithSearch
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?73118a0b"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/200411-33"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All TWiki users should upgrade to the latest version:
        # emerge --sync
        # emerge --ask --oneshot --verbose '>=www-apps/twiki-20040902'"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'TWiki Search Function Arbitrary Command Execution');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:twiki");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/11/24");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/11/24");
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/11/13");
      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:"www-apps/twiki", unaffected:make_list("ge 20040902 ", "lt 20000000"), vulnerable:make_list("lt 20040902 "))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "TWiki");
    }
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_TWIKI_20040902.NASL
    descriptionThe following package needs to be updated: twiki
    last seen2016-09-26
    modified2011-10-03
    plugin id15815
    published2004-11-23
    reporterTenable
    sourcehttps://www.tenable.com/plugins/index.php?view=single&id=15815
    titleFreeBSD : twiki -- arbitrary shell command execution (196)
    code
    #%NASL_MIN_LEVEL 999999
    
    # @DEPRECATED@
    #
    # This script has been deprecated by freebsd_pkg_b4af3ede36e911d9a9e70001020eed82.nasl.
    #
    # Disabled on 2011/10/02.
    #
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # This script contains information extracted from VuXML :
    #
    # Copyright 2003-2006 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #   copyright notice, this list of conditions and the following
    #   disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #   published online in any format, converted to PDF, PostScript,
    #   RTF and other formats) must reproduce the above copyright
    #   notice, this list of conditions and the following disclaimer
    #   in the documentation and/or other materials provided with the
    #   distribution.
    #
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    #
    #
    
    include('compat.inc');
    
    if ( description )
    {
     script_id(15815);
     script_version("1.10");
     script_cve_id("CVE-2004-1037");
    
     script_name(english:"FreeBSD : twiki -- arbitrary shell command execution (196)");
    
    script_set_attribute(attribute:'synopsis', value: 'The remote host is missing a security update');
    script_set_attribute(attribute:'description', value:'The following package needs to be updated: twiki');
     script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
     script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
     script_set_attribute(attribute:"exploit_available", value:"true");
     script_set_attribute(attribute:"metasploit_name", value:'TWiki Search Function Arbitrary Command Execution');
     script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    script_set_attribute(attribute:'solution', value: 'Update the package on the remote host');
    script_set_attribute(attribute: 'see_also', value: 'http://bugzilla.mozilla.org/show_bug.cgi?id=250862
    http://dovecot.org/list/dovecot-news/2008-March/000065.html
    http://mozillanews.org/?article_date=2004-12-08+06-48-46
    http://secunia.com/advisories/13129/
    http://secunia.com/advisories/13253/
    http://secunia.com/advisories/13254/
    http://secunia.com/multiple_browsers_window_injection_vulnerability_test/
    http://twiki.org/cgi-bin/view/Codev/SecurityAlertExecuteCommandsWithSearch
    http://www.mozilla.org/security/announce/2006/mfsa2006-09.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-10.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-11.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-12.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-13.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-14.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-15.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-16.html
    http://www.mozilla.org/security/announce/2006/mfsa2006-17.html
    https://bugzilla.mozilla.org/show_bug.cgi?id=103638
    https://bugzilla.mozilla.org/show_bug.cgi?id=273699');
    script_set_attribute(attribute:'see_also', value: 'http://www.FreeBSD.org/ports/portaudit/b4af3ede-36e9-11d9-a9e7-0001020eed82.html');
    
     script_set_attribute(attribute:"plugin_publication_date", value: "2004/11/23");
     script_cvs_date("Date: 2018/07/20  0:18:52");
     script_end_attributes();
     script_summary(english:"Check for twiki");
     script_category(ACT_GATHER_INFO);
     script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
     family["english"] = "FreeBSD Local Security Checks";
     script_family(english:family["english"]);
     script_dependencies("ssh_get_info.nasl");
     script_require_keys("Host/FreeBSD/pkg_info");
     exit(0);
    }
    
    # Deprecated.
    exit(0, "This plugin has been deprecated. Refer to plugin #36281 (freebsd_pkg_b4af3ede36e911d9a9e70001020eed82.nasl) instead.");
    
    global_var cvss_score;
    cvss_score=10;
    include('freebsd_package.inc');
    
    
    pkg_test(pkg:"twiki<20040902");
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_B4AF3EDE36E911D9A9E70001020EED82.NASL
    descriptionHans Ulrich Niedermann reports : The TWiki search function uses a user-supplied search string to compose a command line executed by the Perl backtick (``) operator. The search string is not checked properly for shell metacharacters and is thus vulnerable to search string containing quotes and shell commands. IMPACT: An attacker is able to execute arbitrary shell commands with the privileges of the TWiki process.
    last seen2020-06-01
    modified2020-06-02
    plugin id36281
    published2009-04-23
    reporterThis script is Copyright (C) 2009-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/36281
    titleFreeBSD : twiki -- arbitrary shell command execution (b4af3ede-36e9-11d9-a9e7-0001020eed82)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2018 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(36281);
      script_version("1.15");
      script_cvs_date("Date: 2019/08/02 13:32:36");
    
      script_cve_id("CVE-2004-1037");
    
      script_name(english:"FreeBSD : twiki -- arbitrary shell command execution (b4af3ede-36e9-11d9-a9e7-0001020eed82)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Hans Ulrich Niedermann reports :
    
    The TWiki search function uses a user-supplied search string to
    compose a command line executed by the Perl backtick (``) operator.
    
    The search string is not checked properly for shell metacharacters and
    is thus vulnerable to search string containing quotes and shell
    commands.
    
    IMPACT: An attacker is able to execute arbitrary shell commands with
    the privileges of the TWiki process."
      );
      # http://marc.theaimsgroup.com/?l=bugtraq&m=110037207516456
      script_set_attribute(
        attribute:"see_also",
        value:"https://marc.info/?l=bugtraq&m=110037207516456"
      );
      # http://twiki.org/cgi-bin/view/Codev/SecurityAlertExecuteCommandsWithSearch
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?73118a0b"
      );
      # https://vuxml.freebsd.org/freebsd/b4af3ede-36e9-11d9-a9e7-0001020eed82.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?5bbcb20d"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'TWiki Search Function Arbitrary Command Execution');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:twiki");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/11/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2004/11/15");
      script_set_attribute(attribute:"plugin_publication_date", value:"2009/04/23");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2009-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"twiki<20040902")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/86541/twiki_search.rb.txt
idPACKETSTORM:86541
last seen2016-12-05
published2010-02-23
reportermetasploit.com
sourcehttps://packetstormsecurity.com/files/86541/TWiki-Search-Function-Arbitrary-Command-Execution.html
titleTWiki Search Function Arbitrary Command Execution

Saint

bid11674
descriptionTWiki Search.pm shell command injection
idweb_prog_cgi_twikisearch
osvdb11714
titletwiki_search
typeremote