New issue
Advanced search Search tips

Issue 688104 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 1
Type: Bug-Security
Team-Accessibility



Sign in to add a comment

Stack-use-after-scope in ui::AXTree::DestroyNodeAndSubtree

Project Member Reported by ClusterFuzz, Feb 2 2017

Issue description

Project Member

Comment 1 by sheriffbot@chromium.org, Feb 3 2017

Labels: M-56
Project Member

Comment 2 by sheriffbot@chromium.org, Feb 3 2017

Labels: Pri-1

Comment 3 by xzhou@chromium.org, Feb 3 2017

Cc: dtseng@chromium.org mea...@chromium.org
Components: UI>Accessibility
Labels: -Security_Severity-High Security_Severity-Medium OS-Chrome
Owner: dmazz...@chromium.org
Status: Assigned (was: Untriaged)
Here is what my understanding of the issue but as I am very new to sheriff, I might be wrong.

There is a stack use after scope in LLVMFuzzerTestOneInput()

https://cs.chromium.org/chromium/src/ui/accessibility/ax_tree_fuzzer.cc?rcl=da35973f48bcb04f071bd6038ffe4ebaa4299c8c&l=28

extern "C" int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size) {
...
  ui::AXTree tree;
  EmptyAXTreeDelegate delegate;
  tree.SetDelegate(&delegate);
  tree.Unserialize(initial_state);

  return 0;
}

"delegate" is declared after "tree" is declared. When leaving the function scope, delegate is destructed first. But in the destructor ui::AXTree::~AXTree() which calls ui::AXTree::DestroyNodeAndSubtree(), in which it refers delegate again https://cs.chromium.org/chromium/src/ui/accessibility/ax_tree.cc?rcl=da35973f48bcb04f071bd6038ffe4ebaa4299c8c&l=310

and causing stack use after scope error.

Assigning to dmazzoni@ and cc' dtseng@

Comment 4 by xzhou@chromium.org, Feb 3 2017

Cc: xzhou@chromium.org
Cc: dft@google.com dft@chromium.org aleventhal@google.com
Cc: -dft@chromium.org -dft@google.com dougt@chromium.org
ccing dougt instead of dft

Project Member

Comment 7 by sheriffbot@chromium.org, Feb 22 2017

dmazzoni: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

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

Comment 8 by ClusterFuzz, Feb 25 2017

ClusterFuzz has detected this issue as fixed in range 447007:452906.

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

Fuzzer: afl_ax_tree_fuzzer
Job Type: afl_chrome_asan
Platform Id: linux

Crash Type: Stack-use-after-scope READ 8
Crash Address: 0x7f200ab8bd50
Crash State:
  ui::AXTree::DestroyNodeAndSubtree
  ui::AXTree::~AXTree
  
Sanitizer: address (ASAN)

Fixed: https://cluster-fuzz.appspot.com/revisions?job=afl_chrome_asan&range=447007:452906

Reproducer Testcase: https://cluster-fuzz.appspot.com/download/AMIfv97HXoC-lHJuWGiRSLoMWSl88ecIL2c_k9F04DqMzvdV1vNieG2micHdthlxK55_aSmmmuvb7MDaRafXlllTo6wJsG5K-URo9eXlVgVrwzkfI-FpK5fX3UabZZuQJlTuCpHV-Ow7oCdoXxjfHIVI-m83_mMn7V1M3N-tBCsY8kfbn9Kbw8b8BrEFCnLF7hz8ex-i1kKD77MxkYDO2Gb0_ZXybmHELKX21-FVClbhVTBI_MAmzLYDgv_4P5T4BQZhZA7SSl6vjyUfxElBl0WcFgxs3xfS8BOJ41UaJeofeqsD9peQAZ4hQcA2KJcdrj2FfOGtmzZ7vZ8ebVTKX5IfaeDHVFTrrmc3cziTuRcE3sJJuZQ8nkC4FCOaEAtbltfpviqHvpQnEsk29cCoxcHKOtp-AsRBuw?testcase_id=5617957653970944


See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.

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

Comment 9 by ClusterFuzz, Feb 25 2017

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

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

Comment 10 by sheriffbot@chromium.org, Feb 25 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: -M-56 M-58
Labels: Release-0-M58
Project Member

Comment 13 by sheriffbot@chromium.org, Jun 4 2017

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