Vulnerabilities > CVE-2006-4154 - Remote Format String vulnerability in Apache Mod_TCL
Attack vector
NETWORK Attack complexity
MEDIUM Privileges required
NONE Confidentiality impact
PARTIAL Integrity impact
PARTIAL Availability impact
PARTIAL Summary
Format string vulnerability in the mod_tcl module 1.0 for Apache 2.x allows context-dependent attackers to execute arbitrary code via format string specifiers that are not properly handled in a set_var function call in (1) tcl_cmds.c and (2) tcl_core.c. This vulnerability is addressed in the following Apache module update: mod_tcl 1.0.1
Vulnerable Configurations
Nessus
NASL family Gentoo Local Security Checks NASL id GENTOO_GLSA-200610-12.NASL description The remote host is affected by the vulnerability described in GLSA-200610-12 (Apache mod_tcl: Format string vulnerability) Sparfell discovered format string errors in calls to the set_var function in tcl_cmds.c and tcl_core.c. Impact : A remote attacker could exploit the vulnerability to execute arbitrary code with the rights of the user running the Apache server. Workaround : There is no known workaround at this time. last seen 2020-06-01 modified 2020-06-02 plugin id 22915 published 2006-10-25 reporter This script is Copyright (C) 2006-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/22915 title GLSA-200610-12 : Apache mod_tcl: Format string 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 200610-12. # # 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(22915); script_version("1.14"); script_cvs_date("Date: 2019/08/02 13:32:43"); script_cve_id("CVE-2006-4154"); script_xref(name:"GLSA", value:"200610-12"); script_name(english:"GLSA-200610-12 : Apache mod_tcl: Format string 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-200610-12 (Apache mod_tcl: Format string vulnerability) Sparfell discovered format string errors in calls to the set_var function in tcl_cmds.c and tcl_core.c. Impact : A remote attacker could exploit the vulnerability to execute arbitrary code with the rights of the user running the Apache server. Workaround : There is no known workaround at this time." ); script_set_attribute( attribute:"see_also", value:"https://security.gentoo.org/glsa/200610-12" ); script_set_attribute( attribute:"solution", value: "All mod_tcl users should upgrade to the latest version: # emerge --sync # emerge --ask --oneshot --verbose '>=www-apache/mod_tcl-1.0.1'" ); script_set_cvss_base_vector("CVSS2#AV:N/AC:M/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:mod_tcl"); script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux"); script_set_attribute(attribute:"patch_publication_date", value:"2006/10/24"); script_set_attribute(attribute:"plugin_publication_date", value:"2006/10/25"); script_set_attribute(attribute:"vuln_publication_date", value:"2006/10/13"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2006-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-apache/mod_tcl", unaffected:make_list("ge 1.0.1"), vulnerable:make_list("lt 1.0.1"))) 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, "Apache mod_tcl"); }
NASL family Web Servers NASL id APACHE_2_2_3.NASL description The remote host appears to be running a version of Apache which is older than 2.2.3. This version is vulnerable to an off-by-one buffer overflow attack in the mod_rewrite module. last seen 2020-06-01 modified 2020-06-02 plugin id 31659 published 2008-03-26 reporter This script is Copyright (C) 2008-2018 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/31659 title Apache < 2.2.3 mod_rewrite LDAP Protocol URL Handling Overflow code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if(description) { script_id(31659); script_version("1.25"); script_cvs_date("Date: 2018/06/29 12:01:03"); script_cve_id("CVE-2006-3747", "CVE-2006-4154"); script_bugtraq_id(19204); script_name(english:"Apache < 2.2.3 mod_rewrite LDAP Protocol URL Handling Overflow"); script_summary(english:"Checks for version of Apache"); script_set_attribute(attribute:"synopsis", value: "The remote version of Apache is vulnerable to an off-by-one buffer overflow attack." ); script_set_attribute(attribute:"description", value: "The remote host appears to be running a version of Apache which is older than 2.2.3. This version is vulnerable to an off-by-one buffer overflow attack in the mod_rewrite module." ); script_set_attribute(attribute:"see_also", value:"http://www.apache.org/dist/httpd/Announcement.html" ); script_set_attribute(attribute:"solution", value:"Upgrade to version 2.2.3 or later."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C"); script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"); script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available"); script_set_attribute(attribute:"exploit_available", value:"true"); script_set_attribute(attribute:"exploit_framework_core", value:"true"); script_set_attribute(attribute:"metasploit_name", value:'Apache Module mod_rewrite LDAP Protocol Buffer Overflow'); script_set_attribute(attribute:"exploit_framework_metasploit", value:"true"); script_cwe_id(189); script_set_attribute(attribute:"plugin_publication_date", value: "2008/03/26"); script_set_attribute(attribute:"vuln_publication_date", value: "2006/07/28"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_set_attribute(attribute:"cpe", value:"cpe:/a:apache:http_server"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2008-2018 Tenable Network Security, Inc."); script_family(english:"Web Servers"); script_dependencie("apache_http_version.nasl"); script_require_keys("installed_sw/Apache", "Settings/ParanoidReport"); script_require_ports("Services/www", 80); exit(0); } # # The script code starts here # include("global_settings.inc"); include("misc_func.inc"); include("http.inc"); include("audit.inc"); include("install_func.inc"); get_install_count(app_name:"Apache", exit_if_zero:TRUE); port = get_http_port(default:80); install = get_single_install(app_name:"Apache", port:port, exit_if_unknown_ver:TRUE); # Check if we could get a version first, then check if it was # backported version = get_kb_item_or_exit('www/apache/'+port+'/version', exit_code:1); backported = get_kb_item_or_exit('www/apache/'+port+'/backported', exit_code:1); if (report_paranoia < 2 && backported) audit(AUDIT_BACKPORT_SERVICE, port, "Apache"); source = get_kb_item_or_exit('www/apache/'+port+'/source', exit_code:1); # Check if the version looks like either ServerTokens Major/Minor # was used if (version =~ '^2(\\.2)?$') exit(1, "The banner from the Apache server listening on port "+port+" - "+source+" - is not granular enough to make a determination."); if (version !~ "^\d+(\.\d+)*$") exit(1, "The version of Apache listening on port " + port + " - " + version + " - is non-numeric and, therefore, cannot be used to make a determination."); if (version =~ '^2\\.2' && ver_compare(ver:version, fix:'2.2.3') == -1) { if (report_verbosity > 0) { report = '\n Version source : ' + source + '\n Installed version : ' + version + '\n Fixed version : 2.2.3\n'; security_hole(port:port, extra:report); } else security_hole(port); exit(0); } else audit(AUDIT_LISTEN_NOT_VULN, "Apache", port, install["version"]);
References
- http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=421
- http://secunia.com/advisories/22458
- http://secunia.com/advisories/22549
- http://security.gentoo.org/glsa/glsa-200610-12.xml
- http://securitytracker.com/id?1017062
- http://www.kb.cert.org/vuls/id/366020
- http://www.osvdb.org/29536
- http://www.securityfocus.com/bid/20527
- http://www.vupen.com/english/advisories/2006/4033
- https://exchange.xforce.ibmcloud.com/vulnerabilities/29550