Closed
Bug 1213979
Opened 9 years ago
Closed 9 years ago
Heap-use-after-free [@ mozilla::net::Http2Stream::AdjustInitialWindow]
Categories
(Core :: Networking: HTTP, defect)
Core
Networking: HTTP
Tracking
()
RESOLVED
FIXED
mozilla44
People
(Reporter: jruderman, Assigned: mcmanus)
References
Details
(5 keywords, Whiteboard: [post-critsmash-triage][adv-main42+][adv-esr38.4+])
Attachments
(3 files)
12.70 KB,
text/plain
|
Details | |
2.11 KB,
patch
|
u408661
:
review+
abillings
:
approval-mozilla-aurora+
abillings
:
approval-mozilla-beta+
Sylvestre
:
approval-mozilla-release-
abillings
:
approval-mozilla-esr38+
abillings
:
approval‑mozilla‑b2g37_v2_2r+
abillings
:
sec-approval+
|
Details | Diff | Splinter Review |
1.86 KB,
patch
|
RyanVM
:
checkin+
|
Details | Diff | Splinter Review |
My ASan build is crashing very frequently at [@ mozilla::net::Http2Stream::AdjustInitialWindow], especially when browsing Wikipedia.
Today's nightly is also crashing frequently, at seemingly random locations, especially when browsing Twitter.
Comment 1•9 years ago
|
||
Judging by the number of people complaining about a very similar crash like this in #developers, I'm guessing this is going to be a Nightly topcrash.
Comment 2•9 years ago
|
||
[Tracking Requested - why for this release]: frequent crash
status-firefox43:
--- → unaffected
tracking-firefox44:
--- → ?
Comment 3•9 years ago
|
||
Probably it is bug 1211694 somehow triggered this. I will ask someone to back it out. And I will take a look tomorrow. (I am not sure why the patch triggers this)
Comment 4•9 years ago
|
||
I backed out bug 1211694 at Nick & Dragana's request to see if it fixes these crashes in tomorrow's nightly.
https://hg.mozilla.org/mozilla-central/rev/11ff0ccb7d59
Updated•9 years ago
|
Keywords: csectype-uaf,
sec-critical
Updated•9 years ago
|
Keywords: regression
Assignee | ||
Updated•9 years ago
|
Group: network-core-security
Assignee | ||
Comment 5•9 years ago
|
||
I think this is a long standing h2 bug that dragana managed to bring to the surface but its not strictly dependent on 1211694 to trigger. (that patch makes it easier to trigger, because without it there is some extra space in the typical outgoing packet allocation - honestly, there probably is enough room 100% of the time, but I'm not certain of that analysis).
Nick, Dragana, I'll upload a patch.. see if it makes sense to you and go ahead with getting it tested/fixed-up or merged if so (I haven't even tried to compile it on this laptop).. my availability before friday is quite limited.
Assignee | ||
Comment 6•9 years ago
|
||
Attachment #8672908 -
Flags: review?(hurley)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → mcmanus
Status: NEW → ASSIGNED
Updated•9 years ago
|
status-firefox43:
unaffected → ---
Comment 7•9 years ago
|
||
Code in question goes back to Fx29, so marking all supported branches as affected.
status-b2g-v2.0:
--- → wontfix
status-b2g-v2.0M:
--- → wontfix
status-b2g-v2.1:
--- → wontfix
status-b2g-v2.1S:
--- → wontfix
status-b2g-v2.2:
--- → affected
status-b2g-v2.2r:
--- → affected
status-b2g-master:
--- → affected
status-firefox41:
--- → affected
status-firefox42:
--- → affected
status-firefox43:
--- → affected
status-firefox-esr38:
--- → affected
tracking-firefox42:
--- → ?
tracking-firefox43:
--- → ?
tracking-firefox-esr38:
--- → ?
Comment on attachment 8672908 [details] [diff] [review]
h2 packet formats
Review of attachment 8672908 [details] [diff] [review]:
-----------------------------------------------------------------
Ugh, nice catch. LGTM.
Attachment #8672908 -
Flags: review?(hurley) → review+
Updated•9 years ago
|
tracking-firefox-esr38:
? → ---
Assignee | ||
Comment 9•9 years ago
|
||
Comment on attachment 8672908 [details] [diff] [review]
h2 packet formats
[Security approval request comment]
How easily could an exploit be constructed based on the patch? It gives a concrete area to target - but I'm not actually sure you could trigger it due to sufficient slack allocation in the default buffer. But the code clearly identifies the potential problem.
Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem? no
Which older supported branches are affected by this flaw? release, beta, aurora, esr
If not all supported branches, which bug introduced the flaw?
Do you have backports for the affected branches? If not, how different, hard to create, and risky will they be? patch applies universally
How likely is this patch to cause regressions; how much testing does it need? very unlikely.
Attachment #8672908 -
Flags: sec-approval?
Attachment #8672908 -
Flags: approval-mozilla-release?
Attachment #8672908 -
Flags: approval-mozilla-esr38?
Attachment #8672908 -
Flags: approval-mozilla-beta?
Attachment #8672908 -
Flags: approval-mozilla-aurora?
Comment 10•9 years ago
|
||
Comment on attachment 8672908 [details] [diff] [review]
h2 packet formats
[Triage Comment]
Attachment #8672908 -
Flags: approval‑mozilla‑b2g37_v2_2r+
Attachment #8672908 -
Flags: approval-mozilla-esr38?
Attachment #8672908 -
Flags: approval-mozilla-esr38+
Attachment #8672908 -
Flags: approval-mozilla-beta?
Attachment #8672908 -
Flags: approval-mozilla-beta+
Attachment #8672908 -
Flags: approval-mozilla-aurora?
Attachment #8672908 -
Flags: approval-mozilla-aurora+
Updated•9 years ago
|
Keywords: checkin-needed
Comment 11•9 years ago
|
||
Keywords: checkin-needed
Comment 12•9 years ago
|
||
Failed to apply to 2.2r
Tomcats-MacBook-Pro-2:mozilla-b2g37_v2_2r Tomcat$ hg qimport /sheriffs/patch/1213979.patch && hg qpush && hg qrefresh -e
adding 1213979.patch to series file
applying 1213979.patch
patching file netwerk/protocol/http/Http2Stream.cpp
Hunk #1 FAILED at 721
1 out of 2 hunks FAILED -- saving rejects to file netwerk/protocol/http/Http2Stream.cpp.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working directory
Patrick could you take a look, thanks!
Flags: needinfo?(mcmanus)
Comment 13•9 years ago
|
||
also failed for beta and aurora
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Updated•9 years ago
|
Attachment #8672908 -
Flags: sec-approval? → sec-approval+
Assignee | ||
Comment 15•9 years ago
|
||
this patch will apply to the older branches - a trivial logging line was added nearby in 44 that caused the conflict.
Flags: needinfo?(mcmanus)
Attachment #8674945 -
Flags: checkin?
Assignee | ||
Updated•9 years ago
|
Keywords: checkin-needed
Comment 16•9 years ago
|
||
thanks Patrick !
https://hg.mozilla.org/releases/mozilla-aurora/rev/551a28778624
Comment 17•9 years ago
|
||
Comment 18•9 years ago
|
||
Comment 19•9 years ago
|
||
Updated•9 years ago
|
Keywords: checkin-needed
This seems to have caused xpcshell failures on 2.2: https://treeherder.mozilla.org/logviewer.html#?job_id=171890&repo=mozilla-b2g37_v2_2
Flags: needinfo?(mcmanus)
Assignee | ||
Comment 21•9 years ago
|
||
(In reply to Wes Kocher (:KWierso) from comment #20)
> This seems to have caused xpcshell failures on 2.2:
> https://treeherder.mozilla.org/logviewer.html#?job_id=171890&repo=mozilla-
> b2g37_v2_2
doesn't pass the sniff test (the changed code isn't even run in that test) - but I've been wrong about stuff like that before.
can you make new runs both with and without the patch?
If the problem is linked to this patch we might need keeler's help
Flags: needinfo?(mcmanus)
Comment 22•9 years ago
|
||
That failure reeks of not running automated HSTS/HPKP updates on b2g37 to me.
Updated•9 years ago
|
Group: network-core-security → core-security-release
Updated•9 years ago
|
Attachment #8674945 -
Flags: checkin? → checkin+
Updated•9 years ago
|
Whiteboard: [post-critsmash-triage]
Updated•9 years ago
|
tracking-firefox-esr38:
--- → 42+
Whiteboard: [post-critsmash-triage] → [post-critsmash-triage][adv-main42+][adv-esr38.4+]
Comment 24•9 years ago
|
||
Comment on attachment 8672908 [details] [diff] [review]
h2 packet formats
Not going take this patch in 41.
Attachment #8672908 -
Flags: approval-mozilla-release? → approval-mozilla-release-
Updated•9 years ago
|
Group: core-security-release
You need to log in
before you can comment on or make changes to this bug.
Description
•