Package: perl Version: 5.8.8-7 Severity: normal I have some code that looks like this:
sub dirname ($) { #{{{
my $file=shift;
use Scalar::Util;
print STDERR "in tainted: ".Scalar::Util::tainted($file)."\n";
$file=~s!/*[^/]+$!!;
print STDERR "out tainted: ".Scalar::Util::tainted($file)."\n";
return $file;
} #}}}
And I was able to get this output:
in tainted: 0
out tainted: 0
in tainted: 0
out tainted: 1
So perl is randomly setting the taint flag.
I've attached an 750 line test case in a tarball. Sorry that's not
smaller or simpler, but I already boiled it down from the entirty of
ikiwiki this. :-)
[EMAIL PROTECTED]:~/tmp/for-joeyh/ikiwiki>rm -rf out; ./ikiwiki.in
--templatedir=templates --underlaydir=empty --plugin=wikitext
--plugin=htmlscrubber -v wiki out --rebuild
in tainted: 0
out tainted: 0
in tainted: 0
out tainted: 1
Insecure dependency in mkdir while running with -T switch at IkiWiki.pm line
282.
A few things that hide the problem:
* Removing either of the --plugin switches, even though both files they
load are minimal and do nothing.
* In IkiWiki/Render.pm, line 62, commenting out the use of decode_utf8.
Suggests that this might be a utf8 flag vs taint flag mixup?
-- System Information:
Debian Release: 4.0
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages perl depends on:
ii libc6 2.3.6.ds1-11 GNU C Library: Shared libraries
ii libdb4.4 4.4.20-8 Berkeley v4.4 Database Libraries [
ii libgdbm3 1.8.3-3 GNU dbm database routines (runtime
ii perl-base 5.8.8-7 The Pathologically Eclectic Rubbis
ii perl-modules 5.8.8-7 Core Perl modules
Versions of packages perl recommends:
ii perl-doc 5.8.8-7 Perl documentation
-- no debconf information
--
see shy jo
testcase.tgz
Description: GNU Unix tar archive
signature.asc
Description: Digital signature

