On Fri, Apr 4, 2008 at 1:43 PM, Fernando Padilla <[EMAIL PROTECTED]> wrote:
> I did the search, the docs were pretty obtuse though..

Yeah.  Almost by definition you're dealing with the intersection of
obscure behavior in two different codebases.  Nobody understands it,
much less includes it in test plans.

>  I still don't see the need to have this check here.. if the bug is that
> someone passes in some %u encoded character and some cisco router doesn't
> detect it properly..  I still don't see what Shindig has to do with that..
> If you're worried about that, outlaw "%u" encoding.  Or decode all values
> first, then re-encode them. (wait, we're already doing that).

Quick!  What happens if someone passes in "%ff%4fpensocial_owner_id"
to our java code and then we pass it on to .NET code running in a
japanese locale?

The answer depends on the intersection of obscure behavior in two
different codebases.   0xff 0x4f is a halfwidth unicode 'o', and some
systems canonicalize it to a normal ascii 'o' and others don't.  This
kind of problem is why blacklisting invalid characters is a bad idea
for security sensitive code.  Whitelist what you know is safe.  Reject
everything else.

>  Plus, having Shindig fix for some broken detection system, I think is
> totally off-base..

The reports of problems in IDS are an indication of the general type
of attack.  The root cause of the problem is having different
platforms (Java vs .NET vs Perl vs Python vs C++ vs who-knows-what)
trying to interpret arbitrary sequences of bytes in the exact same
way.  Because signed fetch involves our java code talking to arbitrary
servers, we need to be concerned about the issue.  The simplest fix is
to disallow arbitrary sequences of bytes.

Cheers,
Brian

Reply via email to