Public Vulnerability Reports

Apache HTTP Server mod_tcl set_var Format String Vulnerability

10.13.06

BACKGROUND

The mod_tcl module for the Apache httpd v2.x is a scripting module that
allows a TCL developer to create server side script pages in TCL. It is
available as a contrib package for several distributions. For more
information, see http://tcl.apache.org/.

DESCRIPTION

Remote exploitation of a format string vulnerability in the mod_tcl
module for the Apache httpd v2.x could allow attackers to execute
arbitrary code in the context of the httpd.

Due to programmer error, user supplied data is passed as the format
string specifier to several calls to an internally defined variable
argument function. The function 'set_var' is declared as follows:

 mod_tcl.h:117:void set_var(Tcl_Interp *interp, char *var1, char *var2, const char *fmt, ...); 
Several insecure calls to this function are made through out the code,
as seen below:
 tcl_cmds.c:437: set_var(interp, nm_var, (char*) key, (char*) val); tcl_cmds.c:2231: set_var(interp, nm_env, env[i], sptr + 1); tcl_core.c:650: set_var(interp, namespc, vl[i].var2, vl[i].var3); 

ANALYSIS

Successful exploitation allows remote attackers to gain local access to
the vulnerable system in the context of the affected httpd. To exploit
this vulnerability, the attacker must know the location of at least one
tcl server script that is configured to use this module for processing.

DETECTION

iDefense has confirmed the existence of this vulnerability in version
1.0 of mod_tcl for Apache 2.x.

WORKAROUND

iDefense is currently unaware of any workarounds for this issue.

VENDOR RESPONSE

The Apache mod_tcl team have addressed this vulnerability with mod_tcl
version 1.0.1. It is available from http://tcl.apache.org/mod_tcl/

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2006-4154 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org), which standardizes names for
security problems.

DISCLOSURE TIMELINE

08/16/2006 Initial vendor notification
10/11/2006 Initial vendor response
10/13/2006 Coordinated public disclosure

CREDIT

This vulnerability was discovered by Sparfell.

Get paid for vulnerability research
http://www.idefense.com/methodology/vulnerability/vcp.php

Free tools, research and upcoming events
http://labs.idefense.com/

LEGAL NOTICES

Copyright © 2006 Verisign, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email customerservice@idefense.com for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.