On Tue, 29 Dec 2020 at 21:37, sebb <seb...@gmail.com> wrote:
>
> On Tue, 29 Dec 2020 at 19:37, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > First, a link to the line of code in question:
> >
> > https://github.com/apache/whimsy/blob/9b1bd40e277969936f7b8138efb70b0ef28416f6/www/roster/views/committers.html.rb#L28
> >
> > Questions: is this still necessary, or is is moot given the direction to
> > make ICLAs private?
> The code can/will probably be removed, but in any case ruby2js ideally
> should not crash.
> >  If necessary, can it be done via an @variable
> > rather than backtics?

I have moved the variable setup to main.rb, so it no longer causes a crash.

But the links are only usable for the secretarial team.

> >
> > ---
> >
> > Background.  Prior to Ruby 2.7, with $SAFE and taint support, one could
> > detect whether a given string contained unverified user input.  Starting
> > with Ruby 2.7, this became impossible.
> >
> > Ruby2JS has the ability to evaluate an arbitrary string in the host
> > context, which could be very unsafe (consider "system rm -rf /").  I
> > made a change to only allow this if a binding is specified as an option
> > (not recommended, but possible).
> >
> > https://github.com/ruby2js/ruby2js/commit/704f1a5c20485414f1831938b0a4364a83fa1538
> >
> > I did this only after scanning all of the whimsy .js.rb files.  What I
> > missed is that this was used in an html file with an embedded script.
> >
> > If this is still necessary, I would recommend it be done by evaluating a
> > host instance variable (@ivar) rather than evaluating an arbitrary
> > method call.
> >
> > ---
> >
> > Footnote: if you view source on
> > https://whimsy.apache.org/roster/committee/whimsy and scroll to the
> > bottom, you can see instance variables expanded (you will see, for
> > example, auth with your id).
> > If, however, you view source on
> > https://whimsy.apache.org/roster/committer/, you will see icla path
> > evaluated, but will not see that notinavail expanded (instead you will
> > see this._notinavail, i.e., evaluation of an instance variable inside of
> > a JavaScript class).  I'm not sure yet what is going on here.
> >
> > - Sam Ruby
> >

Reply via email to