20:46:52 RRSAgent has joined #webappsec 20:46:52 logging to http://www.w3.org/2013/07/16-webappsec-irc 20:47:11 aha.. so in the "status" window, "/invite zakim #webappsec" 20:53:05 Meeting: WebAppSec WG Teleconference 16-Jul-2013 20:53:47 Chair: bhill2 20:53:57 Agenda: http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0010.html 20:54:34 zakim, this will be 92794 20:54:34 ok, bhill2; I see SEC_WASWG()5:00PM scheduled to start in 6 minutes 20:58:52 SEC_WASWG()5:00PM has now started 20:59:00 +bhill 20:59:07 neilm has joined #webappsec 20:59:44 +??P2 21:00:09 Zakim, ??P2 is gmaone 21:00:09 +gmaone; got it 21:00:37 + +1.650.488.aaaa 21:00:51 +TimBL 21:00:58 zakim, Timbl is really Wendy 21:00:58 +Wendy; got it 21:01:03 tlr has joined #webappsec 21:01:50 + +1.714.488.aabb 21:02:09 zakim, aabb is neilm 21:02:09 +neilm; got it 21:02:57 + +33.9.51.58.aacc 21:03:15 zakim, aacc is yoav 21:03:15 +yoav; got it 21:03:46 ekr sends his regrets 21:03:58 zakim, aaaa is mkwst 21:03:58 +mkwst; got it 21:04:37 +[Mozilla] 21:04:41 [Next meeting August 13] 21:04:50 tanvi1 has joined #webappsec 21:04:55 s/meeting/call/ 21:05:00 Zakim, who is here? 21:05:00 On the phone I see bhill, gmaone, mkwst, Wendy, neilm, yoav, [Mozilla] 21:05:01 On IRC I see tanvi1, tlr, neilm, RRSAgent, Zakim, gmaone, bhill2, yoav, odinho, wseltzer, trackbot, timeless, mkwst_ 21:05:10 Zakim, [Mozilla] is tanvi 21:05:11 +tanvi; got it 21:05:24 Topic: Minutes approval 21:05:27 http://www.w3.org/2013/06/04-webappsec-minutes.html 21:05:31 tanvi1 has joined #webappsec 21:06:07 [for future ref: scribe instructions https://www.w3.org/2008/xmlsec/Group/Scribe-Instructions.html ] 21:06:20 scribenick: mkwst 21:06:39 bhill2: objections to minutes? 21:06:45 everyone: ... 21:07:06 bhill2: agenda bashing! 21:07:12 bhill2: new topics? 21:07:24 Topic: Open Actions 21:07:30 http://www.w3.org/2011/webappsec/track/actions/open?sort=owner 21:08:26 bhill2: adam and dan aren't on the call. skipping. 21:08:32 dan may be running late 21:08:33 bhill2: action-127 21:09:12 +[IPcaller] 21:09:13 mkwst: will address both issues this week. 21:09:34 zakim, [IP is dveditz 21:09:34 +dveditz; got it 21:09:41 deveitz: hi. 21:09:44 dveditz has joined #webappsec 21:09:52 bhill2: dan, how about those open actions? 21:10:10 dveditz: nothing to add since last time. 21:10:18 Topic: script-hash proposal 21:10:24 Zakim, who is here? 21:10:24 On the phone I see bhill, gmaone, mkwst, Wendy, neilm, yoav, tanvi, dveditz 21:10:26 On IRC I see dveditz, tanvi1, tlr, neilm, RRSAgent, Zakim, gmaone, bhill2, yoav, odinho, wseltzer, trackbot, timeless, mkwst 21:10:30 http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0003.html 21:11:11 bhill2: responded to that with some items still outstanding. 21:11:25 bhill2: moved from 'script-nonce' to nonces as a source expression. 21:11:35 bhill2: worth trying the same for 'script-hash' 21:12:01 several folks: yup. makes sense for me too. 21:12:08 bhill2: ni: scheme? 21:12:27 bhill2: semicolons are banned, and would need to be encoded (and ugly) 21:12:50 bhill2: but it exists, and its something we should look at as they might have already worked out some of the corner cases. 21:13:29 mkwst: verbose and ugly, but worth looking at. 21:13:40 dveditz: aren't hashes verbose and ugly? 21:13:54 bhill2: we could propose an alternate delimiter. 21:14:13 mkwst: where would we propose that? 21:14:35 bhill2: "use the rfc??? syntax with the following modification" 21:15:19 mkwst: seems like a reasonable solution. 21:15:47 dveditz: 'ni' is more like other url schemes, which is good. 21:16:07 bhill2: reusing common conventions. 21:16:15 bhill2: sounds like a reasonable place to start exploring. 21:16:30 dveditz: concern about proposal to convert to utf-8 and hash that. 21:16:44 dveditz: script is delivered to the browser in some way, can't we just hash what we get? 21:16:47 http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0004.html 21:16:51 bhill2: i had the same concern in my reply. 21:16:56 bhill2: ^^ 21:17:12 bhill2: utf-8 is nonpreferred for some languages. 21:17:34 dveditz: lots of text content, but lots of script? 21:17:46 bhill2: inline script === text. 21:17:56 dveditz: hash only for content of script tag, right? 21:18:06 bhill2: what that turns into depends on the document's encoding. 21:18:18 bhill2: differences between utf-8 and other encodings. 21:18:44 dveditz: server sends script and encoding, we should trust it. 21:19:02 bhill2: force a document to declare an explicit encoding. 21:19:20 bhill2: resolves the problem of potentially rehashing/comparing content. 21:19:59 dveditz: may be difficult for Firefox to get access to the raw bytes. 21:20:12 dveditz: we may have to bite it off anyway. 21:20:30 dveditz: having bytes come out with different hash because of charset seems wrong. bytes are bytes. 21:21:14 yoav: not reencoding to utf-8 on the browser sounds like the right thing to do. 21:21:20 yoav: error prone. 21:21:42 bhill2: encoding = open question. needs more exploration. 21:21:46 bhill2: moving on... 21:22:02 bhill2: which algorithms should we support? 21:22:04 yoav was in particular thinking of the problems the server would have trying to hash it according to what it thought a browser would encode it as 21:22:17 bhill2: rfc5920: agreement in code points with webcrypto? 21:22:56 bhill2: allow truncation of the hash? 21:23:13 bhill2: xml digital signatures did. 21:23:14 after a decade 21:23:39 bhill2: don't want to repeat the one-character-truncation problem. 21:23:57 bhill2: canonicalization? no? 21:24:11 bhill2: might not be in control of the developer. perf. optimizations/transformations. 21:24:17 -yoav 21:24:42 mkwst: bytes is bytes sounds good. 21:25:02 +yoav 21:25:05 dveditz: optimizing proxies? 21:25:53 mkwst: mobile operators that optimize whitespace? 21:26:08 transport compression ought to do that well enough, right? 21:26:24 yoav: not predictable. optimizing proxies would need to avoid those transformations. 21:27:02 mkwst: i don't think we should try to support the pagespeed case. code is different when it comes out the other end. 21:27:27 bhill2: next. scripts can have different content-types. vbscript! 21:27:40 bhill2: inert inline script with nonexecutable content-type. 21:27:57 bhill2: should we include that? 21:28:16 mkwst: what's the threat? 21:28:30 bhill2: valid code in two languages? perhaps far-fetched. 21:28:51 comment formats 21:29:01 dveditz: hashes have to be the same. seems unlikely. 21:29:34 dveditz: would the text of the script tag remain in the dom? 21:29:40 dveditz: just execution, i suppose. 21:29:44 bhill2: yeah. 21:29:57 dveditz: we don't load non-matching scripts for the src case. 21:30:10 bhill2: twitter uses inline JSON. 21:30:28 bhill2: still in the spirit of things. 21:30:44 bhill2: algorithm agility. 21:31:11 bhill2: sha-4? if the browser doesn't understand the hash type, how does it fail? 21:31:27 bhill2: what's the failure mode? 21:31:42 dveditz: can't compute a matching hash, will block the ununderstood code. 21:32:14 bhill2: specify sha-1 and sha-3 hashes for script. what should the UA do? 21:32:28 bhill2: perhaps only accept the strongest hashing algo. it knows about? 21:33:00 dveditz: what does "strongest" mean. 21:33:29 bhill2: ordering should be left to the UA. 21:34:01 bhill2: specify multiple algorithms, but include a hash in each algorithm for each resource? 21:34:58 dveditz: not always the case that multiple hash types means multiple listings for each resource. 21:35:08 bhill2: composing policies might also be difficult. 21:35:15 dveditz: only inline content? 21:35:56 dveditz: ni: can include a domain; if we hash loaded content, it would be nice to force usage for performance reasons. 21:36:16 dveditz: if you see two hash types, you have to hash all content twice. 21:36:50 dveditz: performance issues. 21:37:17 bhill2: if sha-1 is broken, what's the migration strategy? 21:37:23 mkwst: UA sniffing? 21:37:53 21:38:50 yoav: what's the problemw ith accepting only the strongest hash? wouldn't that avoid the perf penalties 21:39:33 dveditz: the different hashes might be from different sources and cover different chunks of content 21:40:02 dveditz: also, which is "strongest"? we'd have to define 21:40:22 yoav: would the policy refer to content ids? 21:40:48 bhill2: I think writing this out and sending it to the list would be the right thing to do here 21:41:23 bhill2: any volunteers to improve this proposal? 21:41:41 bhill2: neil, can you advocate for this proposal? 21:41:47 neilm: sure 21:42:00 list from: http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0004.html 21:42:39 ACTION neilm to propose updated hash source text to list addressing http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0004.html 21:42:39 Created ACTION-147 - Propose updated hash source text to list addressing http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0004.html [on Neil Matatall - due 2013-07-23]. 21:43:09 bhill2: thanks neilm! 21:43:11 mkwst: I don't think the scribe will get my stuff automatically... you may want to cut and paste it back 21:43:19 Topic: CSSOM and unsafe-eval 21:43:20 unless there's some magic commands 21:43:29 http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0006.html 21:43:48 bhill2: post from ian: ^^. 21:43:52 retroactively? 21:44:01 :-) 21:44:52 https://bugzilla.mozilla.org/show_bug.cgi?id=873302 21:45:07 i| dveditz: we don't block innerHTML, which can be eval-like. 21:45:22 i|bhill2: thanks neilm! 21:45:23 dveditz: is that a bug? 21:45:34 i|bhill2: thanks neilm|scribenick: mkwst 21:46:07 bhill2: there's a request to do something about that. script-src, innerhtml directive, etc. 21:46:22 bhill2: my understanding of cssom is incomplete. 21:46:42 bhill2: sounds reasonable on its face. 21:47:28 dveditz: does anyone know of problems that people have had with cssom injection problems? 21:47:54 dveditz: if scripts are approved, that might be good enough. 21:48:29 bhill2: no strong opinions on today's call. 21:48:36 bhill2: table this, poke the list. 21:48:58 Topic: CORS to PR 21:49:55 http://webappsec-test.info/~bhill2/pub/CORS/index.html 21:50:02 bhill2: anne won't be editing the spec, licensing. 21:50:03 diffmarked verison at: http://services.w3.org/htmldiff?doc1=http%3A%2F%2Fwww.w3.org%2FTR%2F2013%2FCR-cors-20130129%2F&doc2=http%3A%2F%2Fwebappsec-test.info%2F~bhill2%2Fpub%2FCORS%2Findex.html 21:50:12 (all in email of : http://lists.w3.org/Archives/Public/public-webappsec/2013Jul/0009.html ) 21:50:28 bhill2: only ~2 substantive changes. 21:50:37 bhill2: change reference to the Fetch spec. 21:50:57 bhill2: whatwg spec, not stable, not likely to become stable in the timeline we're looking at. 21:51:16 q+ 21:51:17 bhill2: CORS shouldn't rely on it. should instead use fetching resources from html5. 21:51:43 tlr: html5 is in cr. 21:52:04 tlr: support changing the reference. will need to talk to them to see if fetching there is stable. 21:52:25 tlr: it's the right step, but talk with HTML after making the change. 21:52:47 http://lists.w3.org/Archives/Public/public-webappsec/2013Feb/0078.html 21:52:53 add 204 as valid OK status code 21:53:02 bhill2: other change: add 204 as valid status code. 21:53:09 bhill2: will need some test code. 21:53:22 bhill2: mozilla implemented that, not sure about webkit. 21:54:18 bhill2: you get 7 minutes of your life back! enjoy! 21:54:21 wseltzer has changed the topic to: next call, August 13 21:54:26 bhill2: next call in one month, aug 13. 21:54:40 -Wendy 21:54:43 -neilm 21:54:48 -dveditz 21:54:51 -yoav 21:54:54 -gmaone 21:54:57 zakim, list attendees 21:54:57 As of this point the attendees have been bhill, gmaone, +1.650.488.aaaa, Wendy, +1.714.488.aabb, neilm, +33.9.51.58.aacc, yoav, mkwst, tanvi, [IPcaller], dveditz 21:55:02 rrsagent, make minutes 21:55:02 I have made the request to generate http://www.w3.org/2013/07/16-webappsec-minutes.html bhill2 21:55:08 rrsagent, set logs public-visible 21:55:37 -bhill 21:56:05 yoav has left #webappsec 21:56:19 -tanvi 21:57:12 tanvi has left #webappsec 22:05:00 disconnecting the lone participant, mkwst, in SEC_WASWG()5:00PM 22:05:06 SEC_WASWG()5:00PM has ended 22:05:06 Attendees were bhill, gmaone, +1.650.488.aaaa, Wendy, +1.714.488.aabb, neilm, +33.9.51.58.aacc, yoav, mkwst, tanvi, [IPcaller], dveditz 23:08:18 tanvi has joined #webappsec