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

Issue 707472 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
OOO until 2019-02-10
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

Heap-use-after-free in v8::internal::libc_memcpy

Project Member Reported by ClusterFuzz, Apr 1 2017

Issue description

Comment 1 by ta...@google.com, Apr 1 2017

Components: Blink>JavaScript
Labels: Pri-2
Owner: petermarshall@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by sheriffbot@chromium.org, Apr 1 2017

Labels: M-59
Project Member

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

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, Apr 1 2017

Labels: -Pri-2 Pri-1
Project Member

Comment 5 by sheriffbot@chromium.org, Apr 2 2017

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 6 by bugdroid1@chromium.org, Apr 3 2017

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

commit c5ad59f4d4afdd849bcb4fe74894e18cdafd27de
Author: Peter Marshall <petermarshall@chromium.org>
Date: Mon Apr 03 12:45:22 2017

[builtins] Use length field in TypedArrayConstructByArrayLike.

The byte_length field of the TypedArray is not set to 0 on neutering,
but JSArrayBufferView::byte_length() returns 0 if WasNeutered() is
true. We should use the length property here instead.

We can just short-circuit if the length is 0. Added checks to the
memcpy path that assert length and neutered status are sane.

Bug: chromium:707472 , chromium:707595 , chromium:707364 , chromium:707410 

Change-Id: Ia1dec53f175357673012cbbc5e2fc40207e03623
Reviewed-on: https://chromium-review.googlesource.com/465987
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44336}
[modify] https://crrev.com/c5ad59f4d4afdd849bcb4fe74894e18cdafd27de/src/builtins/builtins-typedarray-gen.cc
[add] https://crrev.com/c5ad59f4d4afdd849bcb4fe74894e18cdafd27de/test/mjsunit/regress-707410.js

Project Member

Comment 7 by ClusterFuzz, Apr 4 2017

ClusterFuzz has detected this issue as fixed in range 461468:461511.

Detailed report: https://clusterfuzz.com/testcase?key=6555356085092352

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_asan_chrome_v8_arm
Platform Id: linux

Crash Type: Heap-use-after-free READ {*}
Crash Address: 0xce632900
Crash State:
  v8::internal::libc_memcpy
  v8::internal::Simulator::SoftwareInterrupt
  v8::internal::Simulator::DecodeType7
  
Sanitizer: address (ASAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=461086:461139
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=461468:461511

Reproducer Testcase: https://clusterfuzz.com/download/AMIfv973K3sqVYMayznM0H3IMCHvrFeK6DHEmelOq9gaTkiLSXTkpO1m_6Wc_kCt6_P_HeMYDni4tpuYElzpQR98KUbHH8pwblrqd7K27ijrEVvUbXFhueoSQGckvrDPNmQ1L4DwS-FVpR3Fly2nDAktmExhbPYmgwQlP5YO4Gy6nmCwc5i8yccOdW0tKhCgJskBBHxc-uwVXRQg51g6Qzma8yVY9sUtdbvZnzRa6M-VnAl2e3V5J0CwKPLMTGPmmelrMq7jUzuy4OgwusfByTbzA-t99wS7YXY3rv2CZ17Hvg2MQMB0rFtLuz7GvrMfORJYYDDVy2S7ZQr6GOxjg834bs5puo5Xz1M2WG9M_Hp6sxRdQJMnl7vg04aa3-r05B-HWmLLgtoIuZoLMtsoARr_3OQ1x4evXA?testcase_id=6555356085092352


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.
Status: Fixed (was: Assigned)
Project Member

Comment 9 by sheriffbot@chromium.org, Apr 4 2017

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

Comment 11 by sheriffbot@chromium.org, Jul 11 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