Re: [Tclhttpd-users] Re: TCLHttpd Server - Multiple Vulnerabilities
Here is the patch for the dirlist.tcl bug
Please note also that with this bug you can see a
directory listing, but you cannot fetch any files that
you might be able to see. The server running at www.tcl.tk
has had this patch applied to it.
*** dirlist.tcl 4 Apr 2003 04:10:54 -0000 1.10
--- dirlist.tcl 24 Sep 2003 20:32:28 -0000
***************
*** 174,180 ****
set path [file split $dir]
# Filter pattern to avoid leaking path information
! regsub -all {\.\./} $pattern {} pattern
set list [glob -nocomplain -- [file join $dir $pattern]]
if {[llength $path] > 1} {
--- 174,181 ----
set path [file split $dir]
# Filter pattern to avoid leaking path information
! regsub -all {\.+/} $pattern {} pattern
! set pattern [string trimleft $pattern /]
set list [glob -nocomplain -- [file join $dir $pattern]]
if {[llength $path] > 1} {
>>>Michael Schlenker said:
> Phuong Nguyen wrote:
>
> >Released Date 09/23/2003
> >
> >TITLE
> >=====
> >TCLHttpd 3.4.2 - Multiple Vulnerabilities
> >
> >DESCRIPTION
> >===========
> >"TclHttpd is used both as a general-purpose Web
> >server, and as a framework for building server
> >applications. It implements Tcl (http://www.tcl.tk),
> >including the Tcl Resource Center and Scriptics'
> >electronic commerce facilities. It is also
> >built into several commercial applications such as
> >license servers and mail spam filters. Instructions
> >for setting up the TclHttpd on your platform are given
> >towards the end of the chapter, on page See The
> >TclHttpd Distribution. It works on Unix, Windows, and
> >Macintosh. You can have the server up and running
> >quickly."
> >
> >More information at
> >http://www.tcl.tk/software/tclhttpd
> >
> One should add the sourceforge Project:
> http://www.sourceforge.net/projects/tclhttpd
>
> >
> >PROBLEMS
> >========
> >Affected Version : TCLHttpd 3.4.2 (latest) and
> >probably older builds
> >Tested Platform : Linux(x86)
> >
> >Mutiple flaws in TCLHttpd server which open door for
> >an attacker to browse any directories on the remote
> >host, and to inject
> >
> >malicious javascript/vbscript content to the user's
> >browser under the TCLHttpd server context (Cross Site
> >Scripting).
> >
> >DETAILS
> >=======
> >[Vulnerability #1] Arbitrary Directory Browsing
> >
> >When a user requests a directory on TCLHttpd server,
> >httpdthread.tcl will start to look for various default
> >index file names in that directory, if none can be
> >found then it will pass the operation to dirlist.tcl
> >script to do the "fancy" directory listing which
> >provides users the ability to sort files by modify
> >date, name, size or file's pattern. Dirlist.tcl script
> >does filter inputs from the users in order to prevent
> >directory traversal but it can be easily bypassed if
> >an absolute path was entered. Directory listing is
> >enabled by default.
> >
> >For example: Requesting
> >http://abc.com/images/?pattern=/*&sort=name will
> >return you a list of directory under /
> >
> Confirmed. This is similar to:
> http://sourceforge.net/tracker/index.php?func=detail&aid=591103&group_id=128
84&atid=112884
>
> >[Vulnerability #2] Cross Site Scripting (XSS)
> >
> >TCLHttpd web server comes with various modules in
> >order to increase the flexibility of the server, and
> >/debug module is enable by default which allows you to
> >download logging information, debug the Tcl part of
> >the application without restarting the hosting
> >application.
> >
> >Many modules are suffered from the
> >multiple Cross Site Scripting (XSS) vulnerabilities
> >that potentially enable a malicious user to "inject"
> >code into a user's session under TCLHttpd server
> >context. I'm going to use the /debug module as an
> >example.
> >
> >http://www.abc.com/debug/echo?name=<script>alert('hello');</script>
> >http://www.abc.com/debug/dbg?host=<script>alert('hello');</script>
> >http://www.abc.com/debug/showproc?proc=<script>alert('hello');</script>
> >http://www.abc.com/debug/errorInfo?title=<script>alert('hello');</script>
> >
> >WORK AROUND
> >===========
> >You can eliminate the threats from these
> >vulnerabilities by editing your httpdthread.tcl and
> >comment out the directory listing option, also you
> >should disable the following modules to prevent Cross
> >Site Scripting: Status, Debug, Mail and Admin.
> >
> >
>
> Michael Schlenker
>
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> TclHttpd-users mailing list
> TclHttpd-users@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/tclhttpd-users
--
Brent Welch
Software Architect, Panasas Inc
Delivering the World's Most Scalable and Agile Storage Network
www.panasas.com
welch@xxxxxxxxxxx