Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(912)

Issue 933653004: Prevent the WebPluginContainer being destroyed inside scriptableObject() (Closed)

Created:
5 years, 10 months ago by raymes
Modified:
5 years, 10 months ago
CC:
blink-reviews, chrome-apps-syd-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Prevent the WebPluginContainer being destroyed inside scriptableObject() Current re-entrancy inside WebPluginContainer::scriptableObject can cause the plugin to be deleted, as well as the WebPluginContainer. This can cause UAFs. This change holds a reference to the plugin container to prevent it from being destroyed while in the function. This also prevents the WebPlugin associated with it from being destroyed since the lifetime of WebPlugin is managed by the WebPluginContainer. BUG=458776 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190700

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -4 lines) Patch
M Source/web/WebPluginContainerImpl.cpp View 1 1 chunk +9 lines, -4 lines 2 comments Download

Messages

Total messages: 14 (3 generated)
raymes
5 years, 10 months ago (2015-02-16 22:17:55 UTC) #2
dmichael (off chromium)
https://codereview.chromium.org/933653004/diff/1/Source/web/WebPluginContainerImpl.cpp File Source/web/WebPluginContainerImpl.cpp (right): https://codereview.chromium.org/933653004/diff/1/Source/web/WebPluginContainerImpl.cpp#newcode601 Source/web/WebPluginContainerImpl.cpp:601: RefPtrWillBeRawPtr<WebPluginContainerImpl> protector(this); Does this guarantee that dispose() won't be ...
5 years, 10 months ago (2015-02-17 20:54:20 UTC) #3
raymes
https://codereview.chromium.org/933653004/diff/1/Source/web/WebPluginContainerImpl.cpp File Source/web/WebPluginContainerImpl.cpp (right): https://codereview.chromium.org/933653004/diff/1/Source/web/WebPluginContainerImpl.cpp#newcode601 Source/web/WebPluginContainerImpl.cpp:601: RefPtrWillBeRawPtr<WebPluginContainerImpl> protector(this); On 2015/02/17 20:54:19, dmichael wrote: > Does ...
5 years, 10 months ago (2015-02-17 22:26:01 UTC) #4
dmichael (off chromium)
lgtm
5 years, 10 months ago (2015-02-18 22:36:05 UTC) #5
raymes
jochen@ please review for OWNERS when you can. Thanks!
5 years, 10 months ago (2015-02-18 22:37:17 UTC) #6
raymes
ping :)
5 years, 10 months ago (2015-02-23 02:30:04 UTC) #7
jochen (gone - plz use gerrit)
lgtm
5 years, 10 months ago (2015-02-23 12:16:19 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/933653004/20001
5 years, 10 months ago (2015-02-23 21:57:37 UTC) #10
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://src.chromium.org/viewvc/blink?view=rev&revision=190700
5 years, 10 months ago (2015-02-24 00:26:06 UTC) #11
sof
https://codereview.chromium.org/933653004/diff/20001/Source/web/WebPluginContainerImpl.cpp File Source/web/WebPluginContainerImpl.cpp (right): https://codereview.chromium.org/933653004/diff/20001/Source/web/WebPluginContainerImpl.cpp#newcode607 Source/web/WebPluginContainerImpl.cpp:607: if (hasOneRef()) Would ASSERT(!m_webPlugin) hold if there's one ref ...
5 years, 10 months ago (2015-02-24 06:19:29 UTC) #13
sof
5 years, 10 months ago (2015-02-24 06:32:11 UTC) #14
Message was sent while issue was closed.
https://codereview.chromium.org/933653004/diff/20001/Source/web/WebPluginCont...
File Source/web/WebPluginContainerImpl.cpp (right):

https://codereview.chromium.org/933653004/diff/20001/Source/web/WebPluginCont...
Source/web/WebPluginContainerImpl.cpp:599: // v8ScriptableObject below.
crbug.com/458776. Hold a reference to the
When appropriate, could access to bug 458776 please be opened up a bit? Ditto
for 423263 -- unless there are good reasons not to, inaccessible-to-contributors
bug references in source code adds questionable value.

Powered by Google App Engine
This is Rietveld 408576698