Closed
Bug 1340482
Opened 6 years ago
Closed 6 years ago
Shape field not traced for non-native shaped objects
Categories
(Core :: JavaScript: GC, defect)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
mozilla55
People
(Reporter: jonco, Assigned: jonco)
References
Details
(Keywords: csectype-uaf, sec-high, Whiteboard: [adv-main53+][adv-esr52.1+])
Attachments
(1 file)
1.82 KB,
patch
|
sfink
:
review+
gchang
:
approval-mozilla-aurora+
gchang
:
approval-mozilla-beta+
jcristau
:
approval-mozilla-esr52+
abillings
:
sec-approval+
|
Details | Diff | Splinter Review |
Since we introduced ShapedObject, JSObject::traceChildren() doesn't trace the shape if the object is shaped but not native. This might cause UAF if a shape is swept while still in use (although mostly objects are marked by a different path), or if such an object is moved by compacting GC.
Attachment #8838474 -
Flags: review?(sphink)
Updated•6 years ago
|
Keywords: csectype-uaf,
sec-high
Updated•6 years ago
|
Attachment #8838474 -
Flags: review?(sphink) → review+
Assignee | ||
Comment 1•6 years ago
|
||
Comment on attachment 8838474 [details] [diff] [review] trace-object-shape [Security approval request comment] How easily could an exploit be constructed based on the patch? Very difficult. 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? Everything back to 50. If not all supported branches, which bug introduced the flaw? Bug 1284634. Do you have backports for the affected branches? If not, how different, hard to create, and risky will they be? Should be trivial. How likely is this patch to cause regressions; how much testing does it need? Unlikely.
Attachment #8838474 -
Flags: sec-approval?
Comment 2•6 years ago
|
||
We've had our last beta. I think this is too late for 52, which affects sec-approval, but it is a small change. I'm asking release management for their opinion.
status-firefox51:
--- → wontfix
status-firefox52:
--- → affected
status-firefox53:
--- → affected
status-firefox54:
--- → affected
status-firefox-esr45:
--- → unaffected
status-firefox-esr52:
--- → affected
Flags: needinfo?(rkothari)
Flags: needinfo?(lhenry)
Flags: needinfo?(jcristau)
Comment 3•6 years ago
|
||
Let's aim to fix this in 53.
Flags: needinfo?(rkothari)
Flags: needinfo?(lhenry)
Flags: needinfo?(jcristau)
Comment 4•6 years ago
|
||
sec-approval+ for checkin on 3/21, two weeks into the next cycle. We're a week from final release of 52 right now.
Whiteboard: [checkin on 3/21]
Updated•6 years ago
|
Attachment #8838474 -
Flags: sec-approval? → sec-approval+
Comment 5•6 years ago
|
||
[Tracking Requested - why for this release]: sec-high
Updated•6 years ago
|
Comment 7•6 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/846948a41b6c Please request Aurora/Beta/ESR52 approval on this as soon as possible.
status-firefox55:
--- → affected
tracking-firefox52:
? → ---
tracking-firefox55:
--- → ?
tracking-firefox-esr52:
--- → ?
Flags: needinfo?(jcoppeard)
Whiteboard: [checkin on 3/21]
https://hg.mozilla.org/mozilla-central/rev/846948a41b6c
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Assignee | ||
Comment 9•6 years ago
|
||
Comment on attachment 8838474 [details] [diff] [review] trace-object-shape Approval Request Comment [Feature/Bug causing the regression]: Bug 1284634. [User impact if declined]: Possible crash / security vulnerability. [Is this code covered by automated tests?]: Yes. [Has the fix been verified in Nightly?]: Yes. [Needs manual test from QE? If yes, steps to reproduce]: No. [List of other uplifts needed for the feature/fix]: None. [Is the change risky?]: No. [Why is the change risky/not risky?]: This is a simple change to trace objects' shapes in some circumstances when it wasn't being traced before. [String changes made/needed]: None.
Flags: needinfo?(jcoppeard)
Attachment #8838474 -
Flags: approval-mozilla-beta?
Attachment #8838474 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 10•6 years ago
|
||
Comment on attachment 8838474 [details] [diff] [review] trace-object-shape [Approval Request Comment] If this is not a sec:{high,crit} bug, please state case for ESR consideration: sec-high bug. User impact if declined: Possible crash / security vulnerability. Fix Landed on Version: 55. Risk to taking this patch (and alternatives if risky): Low. String or UUID changes made by this patch: None.
Attachment #8838474 -
Flags: approval-mozilla-esr52?
Comment 11•6 years ago
|
||
Tracking 55+, as well as for esr52.
Comment 12•6 years ago
|
||
Shouldn't the esr52 tracking be 53+ since that's the corresponding Fx release we're hoping to ship this with?
Flags: needinfo?(mozillamarcia.knous)
Comment 13•6 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #12) > Shouldn't the esr52 tracking be 53+ since that's the corresponding Fx > release we're hoping to ship this with? Yes, sorry I will correct that.
Flags: needinfo?(mozillamarcia.knous)
Comment 14•6 years ago
|
||
Comment on attachment 8838474 [details] [diff] [review] trace-object-shape Fix a sec-high. Aurora54+ & Beta53+.
Attachment #8838474 -
Flags: approval-mozilla-beta?
Attachment #8838474 -
Flags: approval-mozilla-beta+
Attachment #8838474 -
Flags: approval-mozilla-aurora?
Attachment #8838474 -
Flags: approval-mozilla-aurora+
Comment 15•6 years ago
|
||
uplift |
https://hg.mozilla.org/releases/mozilla-aurora/rev/0fff3bdd02a7
Comment 16•6 years ago
|
||
uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/3d0b8766a2a5
Comment 17•6 years ago
|
||
Comment on attachment 8838474 [details] [diff] [review] trace-object-shape sec-high uaf fix for esr52
Attachment #8838474 -
Flags: approval-mozilla-esr52? → approval-mozilla-esr52+
Comment 18•6 years ago
|
||
uplift |
https://hg.mozilla.org/releases/mozilla-esr52/rev/512604631b23
Updated•6 years ago
|
Group: javascript-core-security → core-security-release
Updated•6 years ago
|
Whiteboard: [adv-main53+][adv-esr52.1+
Updated•6 years ago
|
Whiteboard: [adv-main53+][adv-esr52.1+ → [adv-main53+][adv-esr52.1+]
Comment 19•6 years ago
|
||
Setting qe-verify- based on Jon's assessment on manual testing needs and the fact that this fix has automated coverage (see Comment 17).
Flags: qe-verify-
Updated•6 years ago
|
Group: core-security-release
You need to log in
before you can comment on or make changes to this bug.
Description
•