New issue
Advanced search Search tips

Issue 867306 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Jul 25
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 1
Type: Bug-Security



Sign in to add a comment

Fix DOMStorageNamespace UAF

Project Member Reported by tzik@chromium.org, Jul 25

Issue description

Project Member

Comment 1 by sheriffbot@chromium.org, Jul 25

Labels: M-68 Target-68
Project Member

Comment 2 by sheriffbot@chromium.org, Jul 25

Labels: -Pri-2 Pri-1
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 25

Status: Fixed (was: Available)
Please mark security bugs as fixed as soon as the fix lands, and before requesting merges. This update is based on the merge- labels applied to this issue. Please reopen if this update was incorrect.

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

Comment 4 by sheriffbot@chromium.org, Jul 26

Labels: -Merge-Request-69 Hotlist-Merge-Approved Merge-Approved-69
Your change meets the bar and is auto-approved for M69. Please go ahead and merge the CL to branch 3497 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

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

Comment 5 by sheriffbot@chromium.org, Jul 26

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Please merge your change to M69 branch 3497 by 4:00 PM PT today, so we can pick it up for next week last M69 Dev release. Thank you.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 27

Labels: -merge-approved-69 merge-merged-3497
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d110229385af383d23bcdb2f16f9c391b4541b1

commit 4d110229385af383d23bcdb2f16f9c391b4541b1
Author: tzik <tzik@chromium.org>
Date: Fri Jul 27 04:56:51 2018

Keep reference to DOMStorageNamespace while it's being cloned

While DOMStorageNamespace::Clone constructs an instance, it binds it to
a callback, post it to a task runner and returns the instance as a raw
pointer. Note that base::BindOnce here retains a reference to |clone|
and releases the reference when the callback instance is destroyed.

However, if PostTaskAndReply there failed, the callback instance is
destroyed immediately and DOMStorageNamespace loses the last reference.
Then, DOMStorageNamespace::Clone may return a stale pointer.

This CL converts the return value to scoped_refptr, and has Clone() to
keep the reference to the resulting instance.

Bug:  866456 ,  867306 
Change-Id: Ic3a5a02e266bf55f8ad3c4f901eb1eebc2ea9d8e
Reviewed-on: https://chromium-review.googlesource.com/1146409
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#577377}(cherry picked from commit e17c5244514c97df94a26f17ecf25af135ef6c49)
Reviewed-on: https://chromium-review.googlesource.com/1152588
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/branch-heads/3497@{#140}
Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753}
[modify] https://crrev.com/4d110229385af383d23bcdb2f16f9c391b4541b1/content/browser/dom_storage/dom_storage_namespace.cc
[modify] https://crrev.com/4d110229385af383d23bcdb2f16f9c391b4541b1/content/browser/dom_storage/dom_storage_namespace.h

Labels: Release-0-M69
Project Member

Comment 9 by sheriffbot@chromium.org, Nov 1

Labels: -Restrict-View-SecurityNotify allpublic
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

Sign in to add a comment