]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - doc/bugs/taint_issue_with_regular_expressions.mdwn
response, improve NOTAINT docs
[git.ikiwiki.info.git] / doc / bugs / taint_issue_with_regular_expressions.mdwn
1 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:
3     my ($f)=/$config{wiki_file_regexp}/; # untaint
5 It works if I replace it with:
7     my ($f)=/(^[-[:alnum:]_.:\/+]+$)/; # untaint
9 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.
11 > How could `%config` possible get tainted? That would be a major security
12 > hole. It seems more likely that perl containes to have taint flag bugs
13 > even in 5.8. See also: [[prune_causing_taint_mode_failures]],
14 > [[Insecure_dependency_in_mkdir]],
15 > [[Insecure_dependency_in_eval_while_running_with_-T_switch.mdwn]],
16 > and especially [[debbug 411786]]
17 >
18 > The last of those was the last straw for me, and I disabled taint
19 > checking in the debian package. You can do the same by building ikiwiki
20 > with NOTAINT=1. :-( --[[Joey]]
22 [[tag done]]