Mike,

...


So you're advocating this alternative from the analysis, correct?

1. Require producers not use duplicate members and require consumers to reject inputs with duplicate member names.

Pros: This is the most locked-down, consistent, and alternative.

Cons: Real JSON parsers don't all reject duplicate inputs. If we force people to write custom parsers, this will result in exploitable bugs (and some just won't do it and won't be conformant).


The primary reason that the working group changed from this alternative in draft -12 in July 2013 to the present one is that it allows JSON parsers as actually deployed and supported to be used. The argument made then was that forcing people to write a custom parser to reject duplicate member names is likely to create security bugs, since insufficiently locked down parsers are a fertile area for security vulnerabilities. It was thought that it was better to have people using well-maintained, standard parsers and count on producers to not emit duplicate member names in the first place. Is there some aspect of this reasoning that doesn't seem convincing to you, Stephen?

I read the rationale. Is there a good baseline of experience showing that JSON parsers are not very exploitable today? We have seen problems with ASN.1 parsers, problems that have taken years to surface, despite extensive use of ASN.1 in both certs and in SNMP. I suggest, without substantiation, that bugs in ASN.1 parsers were not exploited in the SNMP context because there was little to gain. Use of ASN.1 for certs, where there can be financial incentives for exploiting flaws, motivated more analysis by attackers. If JOSE represents an initial step into an arena where crypto is to be applied to JSON in a widespread fashion, it also may represent a new motivation for attackers to try to exploit any bugs in parsers. If so, then the lack of identified vulnerabilities in JSON parsers so far may not be indicative of their
security.

...


You apparently misunderstood the point of my reply to Tim. I wasn't saying that changes aren't possible. I was saying that we want JOSE to be usable by people now -- not just several years in the future when parsers for a more locked-down JSON dialect may become available.

I did misunderstand your point, perhaps because you said:

"I understand that that's an ideal long-term solution, once I-JSON parsers are common/ubiquitous, but I don't expect that to be the case for a number of years and _*people are using JOSE now.*_"


Steve
_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to