Dactyloidae/devtools/client
Gaming4JC 30797d4da8 backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins
Potential attack: session supercookie.

[Moz Notes](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c5):
"The problem is that for unknown header names we store the first one we see and then later we case-insensitively match against that name *globally*. That means you can track if a user agent has already seen a certain header name used (by using a different casing and observing whether it gets normalized). This would allow you to see if a user has used a sensitive service that uses custom header names, or allows you to track a user across sites, by teaching the browser about a certain header case once and then observing if different casings get normalized to that.

What we should do instead is only store the casing for a header name for each header list and not globally. That way it only leaks where it's expected (and necessary) to leak."

[Moz fix note](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c8):
"nsHttpAtom now holds the old nsHttpAtom and a string that is case sensitive (only for not standard headers).
So nsHttpAtom holds a pointer to a header name. (header names are store on a static structure). This is how it used to be. I left that part the same but added a nsCString which holds a string that was used to resoled the header name. So when we parse headers we call ResolveHeader with a char*. If it is a new header name the char* will be stored in a HttpHeapAtom, nsHttpAtom::_val will point to HttpHeapAtom::value and the same strings will be stored in mLocalCaseSensitiveHeader. For the first resolve request they will be the same but for the following maybe not. At the end this nsHttpAtom will be stored in nsHttpHeaderArray. For all operation we will used the old char* except when we are returning it to a script using VisitHeaders."
2019-02-16 00:14:28 +08:00
..
aboutdebugging import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
animationinspector import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
canvasdebugger Bug 1442127 - Allow function call times to occur at the same time in browser_profiling-canvas.js for ESR branch. r=baku, a=test-only 2019-02-15 23:37:31 +08:00
commandline Remove unused variables (DevTools) in browser.js 2019-02-15 23:41:21 +08:00
debugger Part 5: Update devtools to follow displayName change 2019-02-15 23:38:50 +08:00
dom import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
framework Use MOZ_AUSTRALIS to define common shared Australis features 2019-02-16 00:06:04 +08:00
inspector moebius#231: Consider blocking top level window data: URIs (tests) 2019-02-15 23:56:35 +08:00
jsonview import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
locales Fix typos in comments - memory.properties 2019-02-16 00:07:59 +08:00
memory import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
netmonitor backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins 2019-02-16 00:14:28 +08:00
performance Remove testing-only UI components for e10s 2019-02-15 23:35:22 +08:00
preferences [regression] DevTools - Web and Browser console - Added "Log request and response bodies" preference 2019-02-15 23:56:38 +08:00
projecteditor import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
responsive.html Remove Social API. 2019-02-15 23:59:43 +08:00
responsivedesign import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
scratchpad Remove unused variables (DevTools) in browser.js 2019-02-15 23:41:21 +08:00
shadereditor import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
shared backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins 2019-02-16 00:14:28 +08:00
shims import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
sourceeditor Building with "--enable-debug" - fix some warnings 2019-02-15 23:55:29 +08:00
storage [DevTools] Storage - style clean up - a check of the variable to see if it exists (an empty line) 2019-02-15 23:53:03 +08:00
styleeditor Restore source-editor commands controller for scratchpad & styleeditor menus 2019-02-15 23:34:47 +08:00
themes DevTools - display newlines in some console messages 2019-02-16 00:08:08 +08:00
webaudioeditor import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
webconsole backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins 2019-02-16 00:14:28 +08:00
webide import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
definitions.js import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
devtools-startup.js Add support for -browserconsole (the command line) 2019-02-15 23:34:46 +08:00
devtools-startup.manifest import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
jar.mn import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
menus.js Added support of the appmenu for DevTools menuitems (optional) 2019-02-15 23:41:23 +08:00
moz.build Use MOZ_PHOENIX instead of checking for 'browser' in MOZ_BUILD_APP 2019-02-14 14:35:08 +08:00
package.json import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
webpack.config.js import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00