Closed Bug 630107 Opened 14 years ago Closed 7 years ago

Crash [@ nsIFrame::GetStyleContext() ]

Categories

(Core :: Layout, defect)

defect
Not set
critical

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)

Attached file valgrind log + GDB stack (deleted) —
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
Looks like this one bypasses frame-poisoning, deleted "this" in call to nsIFrame::GetStyleContext()
Whiteboard: [sg:critical?]
Marking this a blocker per above comments.
blocking2.0: --- → betaN+
Whiteboard: [sg:critical?] → [sg:critical?][hardblocker]
(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.
Bug 625249 is similar, I think.
> 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]
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+ → ?
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]
Whiteboard: [mitigated by frame-poisoning][hardblocker] → [mitigated by frame-poisoning]
Whiteboard: [mitigated by frame-poisoning] → [sg:dos (critical w/out frame-poisoning)]
(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).
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.
Crash Signature: [@ nsIFrame::GetStyleContext() ]
Is this still a problem in current builds?
Group: core-security
Blocks: crossfuzz
Crash Signature: [@ nsIFrame::GetStyleContext() ] → [@ nsIFrame::GetStyleContext() ] [@ nsIFrame::GetStyleContext ]
(In reply to Daniel Veditz [:dveditz] from comment #10) > Is this still a problem in current builds?
Flags: needinfo?(mats)
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.

Attachment

General

Created:
Updated:
Size: