On Tue, 13 Feb 2001, Brian Ingerson wrote:

> Stas Bekman wrote:
> > 
> > use Inline Config => UNTAINT => 1;
> 
> I prefer the following (syntax-wise):
> 
> use Inline 'Untaint';
> 
> > I'm also not clear about the SAFEMODE, does it mean that it uses Safe.pm?
> > Does it uses it during the build time only?
> 
> SAFEMODE is runtime checking of parameters that are untainted to help
> prevent possible security flaws. UNTAINT just blindly turns off taint
> checking. That said, I still think Inline is fairly safe even with
> UNTAINT. 

I'm not sure why there would be both an UNTAINT and a SAFEMODE option.  It
would seem that anyone asking for -T would prefer the extra security of
UNTAINT/SAFEMODE over the security deficit caused by UNTAINT alone.  Is it
so people can avoid the extra overhead of Safe.pm if "fairly safe" is good
enough?

Here are some proposals:

A) Anyone writing a book or documentations should always use UNTAINT and
SAFEMODE in tandem:

    use Inline 'Untaint', 'Safemode';

B) The use of SAFEMODE alone should imply UNTAINT, because 99.99% of the
time that's what you want, and the other 0.01% of the time, adding UNTAINT
isn't the bottleneck of your program:

    use Inline 'Safemode';  # Same as above

C) The use of UNTAINT alone is dangerous.  It should either...
   1) produce a fatal error, or...
   2) produce a warning if -w is on


-- 
Tim Gim Yee
[EMAIL PROTECTED]


Reply via email to