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

Issue 642987 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Heap-buffer-overflow in unibrow::Utf8::Validate

Project Member Reported by ClusterFuzz, Sep 1 2016

Issue description

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 1
Crash Address: 0x60a00000347b
Crash State:
  unibrow::Utf8::Validate
  DecodeGlobalInModule
  DecodeModule
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan&range=415621:415679

Minimized Testcase (0.03 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96HM2W7MgB9PLsb7nkYl0tM_xUh8Nw8FgmIQgwQFNtTqJp57Zv6qAf7KtqdMbeTMbIBkONTZtZ3mRGq8f-C-SmC7WlAJ2ulqAQu1VxICvhjVQIZN2bdUaMKMf9w3mKjC_kBr4qwBcptOr6dtsKeSbCsbGwdzw?testcase_id=5738904961679360

Issue filed automatically.

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

Comment 1 by vakh@chromium.org, Sep 1 2016

Components: Infra>Client>V8
Owner: clemensh@chromium.org
It looks to me like the culprit CL is: https://chromium.googlesource.com/v8/v8/+/f0523e30467789cbb3689b8023a207d3b5c4873c

clemensh@ -- can you please help triage this? Thanks.
Cc: mmoroz@chromium.org kcc@chromium.org ahaas@chromium.org aizatsky@chromium.org
Components: Blink>JavaScript>WebAssembly
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 1 2016

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

commit 5e7428b5b13ca50f77a027409eaf0b0d99dfaf72
Author: ahaas <ahaas@chromium.org>
Date: Thu Sep 01 09:52:23 2016

[wasm] Read global names only if their name length is valid.

BUG= chromium:642987 
R=titzer@chromium.org
TEST=module-decoder-unittest.cc:GlobalWithInvalidNameLength

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

[modify] https://crrev.com/5e7428b5b13ca50f77a027409eaf0b0d99dfaf72/src/wasm/module-decoder.cc
[modify] https://crrev.com/5e7428b5b13ca50f77a027409eaf0b0d99dfaf72/test/unittests/wasm/module-decoder-unittest.cc

Project Member

Comment 4 by sheriffbot@chromium.org, Sep 1 2016

Labels: M-54
Project Member

Comment 5 by sheriffbot@chromium.org, Sep 1 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 6 by sheriffbot@chromium.org, Sep 1 2016

Labels: Pri-1
Project Member

Comment 7 by sheriffbot@chromium.org, Sep 1 2016

Status: Assigned (was: Untriaged)
Project Member

Comment 8 by ClusterFuzz, Sep 2 2016

ClusterFuzz has detected this issue as fixed in range 415984:416149.

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 1
Crash Address: 0x60a00000347b
Crash State:
  unibrow::Utf8::Validate
  DecodeGlobalInModule
  DecodeModule
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan&range=415621:415679
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan&range=415984:416149

Minimized Testcase (0.03 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96HM2W7MgB9PLsb7nkYl0tM_xUh8Nw8FgmIQgwQFNtTqJp57Zv6qAf7KtqdMbeTMbIBkONTZtZ3mRGq8f-C-SmC7WlAJ2ulqAQu1VxICvhjVQIZN2bdUaMKMf9w3mKjC_kBr4qwBcptOr6dtsKeSbCsbGwdzw?testcase_id=5738904961679360

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, Sep 2 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 sheriffbot@chromium.org, Sep 2 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Status: Assigned (was: Verified)
Not fixed, more testcases coming.
Project Member

Comment 12 by sheriffbot@chromium.org, Sep 3 2016

Labels: -Security_Impact-Head Security_Impact-Beta
Friendly ping, this is currently a Beta-blocker and needs to get fixed and merged as soon as feasible, as M54 is going to beta this Thursday 9/8
Cc: -ahaas@chromium.org
Owner: ahaas@chromium.org
I am still waiting for the test cases promised in #11. To me this issue seems to be fixed. Moreover, this is a WebAssembly issue, and WebAssembly is hidden behind a flag at the moment. I don't think this issue should be a Beta-blocker.
Status: Verified (was: Assigned)
I've checked other crashes on ClusterFuzz, there is a similar crash. As discussed via hangouts, I've filed it separately ( bug 644182 ), since there is another reproducer and that requires another fix.

Closing this issue as the initial crash is not reproducible now.
Project Member

Comment 16 by sheriffbot@chromium.org, Dec 13 2016

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