[UNIX] Apache HTTP Server mod_tcl set_var Format String

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.

- - - - - - - - -

Apache HTTP Server mod_tcl set_var Format String


The <http://tcl.apache.org/> 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. 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.


Vulnerable Systems:
* mod_tcl version 1.0 for Apache 2.x

Immune Systems:
* mod_tcl version 1.0.1 for Apache 2.x

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,

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:

Disclosure Timeline:
08/16/2006 - Initial vendor notification
10/11/2006 - Initial vendor response
10/13/2006 - Coordinated public disclosure


The information has been provided by
<mailto:idlabs-advisories@xxxxxxxxxxxx> iDefense Labs Security Advisories.
The original article can be found at:


This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@xxxxxxxxxxxxxx
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@xxxxxxxxxxxxxx


The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.