Package: blosxom
Version: 2.0-14
Severity: grave
Tags: security
Justification: user security hole


On line 69, param("-f") is used as a potential configuration file:

for $rcfile ("/etc/blosxom/blosxom.conf", "/etc/blosxom.conf", param("-f")) {
  if (-r $rcfile) {
    open (RC, "< $rcfile") or die "Cannot open $rcfile: $!";
    while (<RC>) {
      eval("$_");
    }
    close (RC);
  }
}

This means (among other things) that a malicios user can use a URL like:

  http://mycomputer/cgi-bin/blosxom?-f=/home/malicioususer/exploit.pl

to execute arbitrary code as whomever runs cgi scripts.

I emailed the credited author of this debian-specific chunk of code, who
said he wrote it to be used from the command-line.  Indeed, when run from
the command-line, you can use

  $ blosxom -f=/path/to/blosxom.conf

but this is just passing URL-encoded form data on the command line and
IMHO is an abuse of a feature in the CGI module to make testing easier.
As debian installs blosxom into /usr/lib/cgi-bin/ it is clearly going to
be run by many people as a CGI.

In fact there are inappropriate calls to param() all over the place.
This one just happens to introduce a security hole.  I think I'll use
pyblosxom instead.  :)

Sorry, no patches, perl scares me.


-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.20-linode28
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages blosxom depends on:
ii  debconf [debconf-2.0]         1.5.11     Debian configuration management sy
ii  perl                          5.8.8-7    Larry Wall's Practical Extraction 

Versions of packages blosxom recommends:
ii  apache2-mpm-prefork [httpd]   2.2.3-4    Traditional model for Apache HTTPD

-- debconf information:
  blosxom/breakage:
  blosxom/old_cgi_file: false


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to