New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 621547 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

Bad-cast to blink::BlobCallback from invalid vptr;void WTF::PartBoundFunctionImpl<;base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void

Project Member Reported by ClusterFuzz, Jun 20 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=6569452565168128

Fuzzer: inferno_twister_custom_bundle
Job Type: linux_ubsan_vptr_chrome
Platform Id: linux

Crash Type: Bad-cast
Crash Address: 0x0bf239fd4800
Crash State:
  Bad-cast to blink::BlobCallback from invalid vptr
  void WTF::PartBoundFunctionImpl<
  base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=399438:399445

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv96ilCsbwbvTKFqwBFRw5dUF4GlURF70BSFn8Hm_QrR7NcIpPnVtNbonKzMJGXinJYrMHzXCkwPS5OsZ-KUoo00FqirvgmFBO7FtfmZgeEBi3-yflUOz0wSq__h5nxTm8ACYtQCAD3BJfUPh_FQEbxZ4nnveOGODuBQpMiH0aaW4HDhYEpQ?testcase_id=6569452565168128


Additional requirements: Requires Gestures

Filer: mmoroz

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by est...@chromium.org, Jun 20 2016

Components: Blink>WTF
Labels: M-53
Owner: tzik@chromium.org
tzik, do you think you could help find an owner for this bug? Thanks!
Project Member

Comment 2 by ClusterFuzz, Jun 20 2016

Status: Assigned (was: Available)
Project Member

Comment 3 by sheriffbot@chromium.org, Jun 21 2016

Labels: ReleaseBlock-Beta
This issue is a security regression. If you are not able to fix this quickly, please revert the change that introduced it.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 4 by sheriffbot@chromium.org, Jun 21 2016

Labels: Pri-1

Comment 5 by tzik@chromium.org, Jun 21 2016

Cc: hirosh...@chromium.org haraken@chromium.org

Comment 6 by tzik@chromium.org, Jun 21 2016

hiroshige: This is another case of confusing lifetime management around WTF::bind. Maybe we should disallow Member as a bound arg. When a Member<> is bound to a WTF::Function, it doesn't retain the ownership and causes UAF.

Comment 7 by tzik@chromium.org, Jun 21 2016

Cc: sigbjo...@opera.com
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7d195955d69a096ba28bcb4be85df1d64ffa2a8

commit e7d195955d69a096ba28bcb4be85df1d64ffa2a8
Author: tzik <tzik@chromium.org>
Date: Tue Jun 21 18:42:43 2016

Retain strong reference of BlobCallback in CanvasAsyncBlobCreator

CanvasAsyncBlobCreator holds a BlobCallback and runs it asynchronously.
However, it can be destroyed before the callback invocation, and the
callback doesn't retain its ownership while it's in the task queue.

This CL makes the bound task to retain the shared ownership of
BlobCallback.

BUG= 621547 

Review-Url: https://codereview.chromium.org/2081873003
Cr-Commit-Position: refs/heads/master@{#401052}

[modify] https://crrev.com/e7d195955d69a096ba28bcb4be85df1d64ffa2a8/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp

Project Member

Comment 9 by ClusterFuzz, Jun 22 2016

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase is verified as fixed, closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Project Member

Comment 10 by ClusterFuzz, Jun 22 2016

Labels: Merge-NA
Project Member

Comment 11 by sheriffbot@chromium.org, Jun 22 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

Comment 12 by ClusterFuzz, Jun 22 2016

ClusterFuzz has detected this issue as fixed in range 401020:401085.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=6569452565168128

Fuzzer: inferno_twister_custom_bundle
Job Type: linux_ubsan_vptr_chrome
Platform Id: linux

Crash Type: Bad-cast
Crash Address: 0x0bf239fd4800
Crash State:
  Bad-cast to blink::BlobCallback from invalid vptr
  void WTF::PartBoundFunctionImpl<
  base::internal::Invoker<base::IndexSequence<0ul>, base::internal::BindState<base::internal::RunnableAdapter<void
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=399438:399445
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=401020:401085

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv96ilCsbwbvTKFqwBFRw5dUF4GlURF70BSFn8Hm_QrR7NcIpPnVtNbonKzMJGXinJYrMHzXCkwPS5OsZ-KUoo00FqirvgmFBO7FtfmZgeEBi3-yflUOz0wSq__h5nxTm8ACYtQCAD3BJfUPh_FQEbxZ4nnveOGODuBQpMiH0aaW4HDhYEpQ?testcase_id=6569452565168128


Additional requirements: Requires Gestures

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.

Comment 13 by tkent@chromium.org, Jun 23 2016

Components: -Blink>WTF Blink>Internals>WTF
Renaming Blink>WTF to Blink>Internals>WTF.

Labels: -ReleaseBlock-Beta -ClusterFuzz -merge-na Clusterfuzz Merge-na
Marked as fixed in M53, removing ReleaseBlock-Beta.
Project Member

Comment 15 by sheriffbot@chromium.org, Sep 28 2016

Labels: -Restrict-View-SecurityNotify
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 16 by sheriffbot@chromium.org, Oct 1 2016

This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 17 by sheriffbot@chromium.org, Oct 2 2016

This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: allpublic

Sign in to add a comment