Closed
Bug 630107
Opened 14 years ago
Closed 7 years ago
Crash [@ nsIFrame::GetStyleContext() ]
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
blocking2.0 | --- | - |
People
(Reporter: MatsPalmgren_bugz, Assigned: MatsPalmgren_bugz)
References
(Blocks 2 open bugs)
Details
(Keywords: crash, valgrind, Whiteboard: [sg:dos (critical w/out frame-poisoning)])
Crash Data
Attachments
(1 file)
(deleted),
text/html
|
Details |
The "mLayerManager->Destroy()" call in nsWindow::Destroy() leads to accessing
a deallocated frame.
http://hg.mozilla.org/mozilla-central/diff/f7c05b60f1cc/widget/src/gtk2/nsWindow.cpp
PREPARATIONS
1. build Firefox with --enable-valgrind etc.
2. download cross_fuzz v3 from http://lcamtuf.coredump.cx/cross_fuzz/
STEPS TO REPRODUCE
1. mkdir PROFILE
2. firefox -no-remote -profile PROFILE
* in Preferences->Content, disable pop-up blocking
* in Preferences->Advanced->Update, disable all updates
* in Preferences->Privacy->History to "Never remember history"
* in about:config
- set javascript.options.methodjit.content to false
- set javascript.options.methodjit.chrome to false
3. quit
4. firefox -g --debugger valgrind -no-remote -profile PROFILE \
"file:///CROSS_FUZZ_PATH/cross_fuzz_randomized_20110105_seed.html#139139139"
5. let it run until the "slow script" dialog appears:
click the "Don't show this dialog again" checkbox
click "Continue"
when the dialog closes ==> BUG
ACTUAL RESULT
see attachment
Comment 1•14 years ago
|
||
Looks like this one bypasses frame-poisoning, deleted "this" in call to nsIFrame::GetStyleContext()
Whiteboard: [sg:critical?]
Comment 2•14 years ago
|
||
Marking this a blocker per above comments.
blocking2.0: --- → betaN+
Whiteboard: [sg:critical?] → [sg:critical?][hardblocker]
Comment 3•14 years ago
|
||
(In reply to comment #1)
> Looks like this one bypasses frame-poisoning, deleted "this" in call to
> nsIFrame::GetStyleContext()
Mats certainly had frame poisoning disabled (because the frame arena was disabled) for the "valgrind log" part of the above, and possibly for all of it.
Comment 4•14 years ago
|
||
Bug 625249 is similar, I think.
Assignee | ||
Comment 5•14 years ago
|
||
> Mats certainly had frame poisoning disabled
Yes, the relevant mozconfig options for this build:
ac_add_options --enable-optimize="-fno-omit-frame-pointer -fno-asynchronous-unwind-tables -fno-inline -O -g -ggdb -DDEBUG_TRACEMALLOC_PRESARENA"
ac_add_options --enable-debug
ac_add_options --disable-jemalloc
ac_add_options --enable-valgrind
I'm pretty sure it's mitigated by frame poisoning in a default build.
Whiteboard: [sg:critical?][hardblocker] → [sg:critical? mitigated by frame-poisoning][hardblocker]
Assignee | ||
Comment 6•14 years ago
|
||
I don't think this needs to block 2.0 since it's mitigated by frame poisoning
in a release build. I think it's unlikely to occur under normal circumstances,
i.e. when not running a fuzzer.
blocking2.0: betaN+ → ?
Comment 7•14 years ago
|
||
Removing sg: marking to trigger a re-triage based on the most recent comments.
Whiteboard: [sg:critical? mitigated by frame-poisoning][hardblocker] → [mitigated by frame-poisoning][hardblocker]
blocking2.0: ? → -
Assignee | ||
Updated•14 years ago
|
Whiteboard: [mitigated by frame-poisoning][hardblocker] → [mitigated by frame-poisoning]
Updated•14 years ago
|
Blocks: PoisonFrameCrash
Whiteboard: [mitigated by frame-poisoning] → [sg:dos (critical w/out frame-poisoning)]
Comment 8•14 years ago
|
||
(In reply to comment #6)
> I think it's unlikely to occur under normal circumstances,
> i.e. when not running a fuzzer.
Attackers run fuzzers; just because random users aren't likely to be crashing left and right doesn't make it less of a potential security problem (if it is one, which in this case sounds like it isn't).
Assignee | ||
Comment 9•14 years ago
|
||
What I meant with the second sentence is that the non-security aspects of
the crash (potential dataloss, annoyance etc) isn't a problem since the
crash is unlikely to occur.
Updated•13 years ago
|
Crash Signature: [@ nsIFrame::GetStyleContext() ]
Updated•9 years ago
|
Crash Signature: [@ nsIFrame::GetStyleContext() ] → [@ nsIFrame::GetStyleContext() ]
[@ nsIFrame::GetStyleContext ]
Comment 11•7 years ago
|
||
(In reply to Daniel Veditz [:dveditz] from comment #10)
> Is this still a problem in current builds?
Flags: needinfo?(mats)
Assignee | ||
Comment 12•7 years ago
|
||
No crash, but I'm seeing a lot of assertions. I'll report them separately.
I'm guessing no one runs this old fuzzer on a regular basis... :-(
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(mats)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•