Hi,

At Sat, 12 Jan 2002 21:53:50 +0900,
ts <decoux / moulon.inra.fr> wrote:
>  plruby define a module, then some methods and it immediately set $SAFE
>  with a value >= 4, because it run under the uid of postgres.
> 
>  With 1.6.6, if ruby don't create a new module but give an old module with
>  methods written in C it can exist a problem. If someone can access these
>  methods, he can break the security of plruby because these methods are
>  probably not written to work with $SAFE >= 4.
> 
>  This mean that when you write an extension wich must work with $SAFE > 0,
>  you must test if a class (or a module) exist before trying to create it.
>  If it exist you must stop, otherwise you can inherit methods that you
>  can't trust.

I may misunderstand, but is this only with C extension?  It's
exactly impossible to break $SAFE without C, however, the
conflict can occur with Ruby script?

>  If someone use plruby with ruby >= 1.6.6, it's best to load the new
>  version (0.2.5) because it can exist a security problem. Sorry.

0.2.5 may fail with autoload?

-- 
Nobu Nakada