From f9fa96ded77418851da8b094f73c25dbde8a9714 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 5 Jan 2008 01:01:11 -0500 Subject: [PATCH] web commit by adb --- doc/bugs/taint_issue_with_regular_expressions.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/bugs/taint_issue_with_regular_expressions.mdwn diff --git a/doc/bugs/taint_issue_with_regular_expressions.mdwn b/doc/bugs/taint_issue_with_regular_expressions.mdwn new file mode 100644 index 000000000..174b4f1c5 --- /dev/null +++ b/doc/bugs/taint_issue_with_regular_expressions.mdwn @@ -0,0 +1,9 @@ +Built from 2.1.17 source, works fine on commandline, but not working from CGI wrapper. Traced problem to regular expressions failing to match, specifically in contexts like the following in Render.pm: + + my ($f)=/$config{wiki_file_regexp}/; # untaint + +It works if I replace it with: + + my ($f)=/(^[-[:alnum:]_.:\/+]+$)/; # untaint + +which is exactly the same regular expression drawn out as a constant. It appears that %config gets some tainted data and is itself being marked entirely tainted, which may prevent using regular expressions contained in it for untainting other data. I'm using Perl 5.8.8. -- 2.44.0