16:48
<JakeA>
Curious: when did the origin model first become a thing? window.open, iframes? Something else?
18:09
<annevk>
JakeA: I’m interested
18:10
<JakeA>
Haha I thought you'd know, if anyone
20:42
<Krinkle>
something around <frameset> or cross-origin <object> perhaps, trying to find when document.domain was first mentioned in mailing lists..
20:52
<annevk>
JakeA: Wikipedia suggests it came with NN2, together with JavaScript and cookies
20:53
<annevk>
It’d be really nice if someone were to find a more detailed document though
21:14
<Krinkle>
That Wikipedia statement has a citation for the fact that JS came with NN2 but the source doesnt' say anything about SOP or related concepts from what I can tell.
21:14
<Krinkle>
a 2009 slidedeck linked from <https://www.w3.org/Security/wiki/Same_Origin_Policy>; suggests that it was "tacked on later"
21:23
<Krinkle>
The oldest CVE mentioning Same origin/SOP is this from 2002 it seems - https://www.cvedetails.com/cve/CVE-2002-0815/
21:23
<Krinkle>
An older one from 1999 suggests that at the time IE did not (correctly) implement document.domain. – https://www.cvedetails.com/cve/CVE-1999-0869/
21:24
Krinkle
does this kind of analsys quite often for Wikipedia articles
21:30
<Krinkle>
A 1998 Usenix-published paper refers to document.domain as well, which seems fairly reliable and places it mainly in the context of frames <https://static.usenix.org/publications/library/proceedings/sec98/full_papers/anupam/anupam.pdf>;
21:34
<Krinkle>
This copy of a 1997 Netscape manual says document.domain was introduced in Netscape 3 – https://www.cs.huji.ac.il/labs/parallel/Docs/Javascript_ref/doc1.htm#1010697
21:34
<Krinkle>
As part of its "data taining" feature that prevents reading of properties across origins. – https://www.cs.huji.ac.il/labs/parallel/Docs/Javascript_ref/intro.htm#1014735
21:35
<Krinkle>
when two frames match their domain property, they essentially opt-in to the legacy pre-tainted behaviour of being able to read stuff again
21:38
<Krinkle>
Not able to find a more authoritative copy of that manaul though, this is a bit of a random host
21:51
<Krinkle>
found it – https://web.archive.org/web/20010207191536/http://developer.netscape.com/docs/manuals/js/client/jsguide/sec.htm
21:55
<Krinkle>
fun fact - "Netscape Enterprise Server" offered "Server-Side JavaScript 1.4" in 1999
21:55
<Krinkle>
https://web.archive.org/web/19990904060408/http://developer.netscape.com/docs/manuals/index.html?content=javascript.html
22:52
<Krinkle>
OK. Last one is - https://web.archive.org/web/20020808153106/http://wp.netscape.com:80/eng/mozilla/3.0/handbook/javascript/advtopic.htm#1009533
22:52
<Krinkle>
Added to the SOP Wikipedia article. Calling it at that :) - JakeA
22:52
<Krinkle>
Remember navigator.taintEnabled() ?
22:54
<Krinkle>
Looks like it may've been motivated not by cross-domain access but by internet-to-localdisk access. E.g. if you framed C:\ it looks like it may've been possible to access the default directory rendering of it from the web.
22:54
<Krinkle>
http://web.archive.org/web/19970614000552/http://home.netscape.com/eng/mozilla/2.02/relnotes/windows-2.02.html#Update
22:55
<Krinkle>
"Navigator 2.02 fixes this problem by refusing to allow a script from a server to view file names and directory listings from the local user's machine. "