On Fri, Apr 4, 2008 at 2:10 PM, Brian Eaton <[EMAIL PROTECTED]> wrote:
> 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? Er, shouldn't this always be UTF-8 encoded, in which case %ff isn't a valid character anyway? It seems to me that if we're decoding and re-encoding anyway we'd eliminate most of these sorts of things. > > > 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 > -- ~Kevin

