[#964] Bastion or SecurityManager for Ruby? — Clemens Hintze <clemens.hintze@...>

Hi,

15 messages 1999/12/10

[#989] a question about to_i — Friedrich Dominicus <Friedrich.Dominicus@...>

Sorry, I'm quite new to ruby. But I encounterd the following problem. If

17 messages 1999/12/19

[ruby-talk:00987] Re: -T2 and require

From: ts <decoux@...>
Date: 1999-12-18 12:41:23 UTC
List: ruby-talk #987
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

Y> In message "[ruby-talk:00984] -T2 and require"
Y>     on 99/12/16, ts <decoux@moulon.inra.fr> writes:

Y> | Apparently the last component of rb_load_path is not checked (or the check
Y> |is ignored) in mode -T2.  In the following example, I must use RUBYLIB to
Y> |force a check on "."

Y> If the path contains the relative path, security check should have
Y> done by its absolute path.  I fixed them at my copy of Ruby 1.5.0.
Y> After checking it for a while, the fix will be merged into 1.4.4.

 Sorry if my previous message was not clear (I've a very bad english), but
 there are 2 problems : 

 1) security check on the absolute path
 2) security check on the last component. For example actually I've in
hash.c 

    for (;;) {
        int safe;

        if (pend) *pend = '\0';
        safe = path_check_1(p);
        if (!pend) break;
        *pend = sep;
        if (!safe) {
            return 0;
        }
        p = pend + 1;
        pend = strchr(p, sep);
    }
    return 1;

 when pend == 0 (last component) it always return 1 (if I read it
 correctly) and not the value of path_check_1

 These 2 fixes will be in 1.5.0 ?


Guy Decoux


 

In This Thread