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

Issue 628542 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 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, Jul 15 2016

Issue description

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

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


Minimized Testcase (0.06 Kb): https://cluster-fuzz.appspot.com/download/AMIfv94oTjKIoQAg11Vv760lOagidW5pd9GqnKVRKl7j0Hdoss1gOhieLA9Z4MEeq-AALXKQ71b0zpJRzYuEZCvRL-TLmdXmBrKGVYRUgxAwAzrGoDDMRKvpCCBIU7jeAXBFX_JIeLVuiXvTBH9hueNtd8jNY66lfA?testcase_id=5867155656802304

Filer: mmoroz

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

Comment 1 by mmoroz@chromium.org, Jul 15 2016

Cc: mmoroz@chromium.org kcc@chromium.org aizatsky@chromium.org
Components: Blink>JavaScript>WebAssembly
Owner: clemensh@chromium.org
clemensh@, looks like your CL is culprit: https://chromium.googlesource.com/v8/v8/+/f0523e30467789cbb3689b8023a207d3b5c4873c


Comment 2 by mmoroz@chromium.org, Jul 15 2016

Please note that this has been found with Debug build of fuzzer, the call inside DCHECK() looks to be an issue: https://cs.chromium.org/chromium/src/v8/src/wasm/module-decoder.cc?sq=package:chromium&type=cs&l=482

Comment 3 by titzer@chromium.org, Jul 15 2016

Owner: titzer@chromium.org
Project Member

Comment 4 by sheriffbot@chromium.org, Jul 15 2016

Labels: Pri-1
Project Member

Comment 5 by sheriffbot@chromium.org, Jul 15 2016

Status: Assigned (was: Available)

Comment 6 by ta...@google.com, Jul 15 2016

Labels: Security_Impact-Head
Project Member

Comment 7 by sheriffbot@chromium.org, Jul 19 2016

Labels: M-53
Project Member

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

Comment 9 by gov...@chromium.org, Jul 19 2016

M53 beta launch is next week.Your bug is labelled as Beta ReleaseBlock, pls make sure to land the fix before 6:00 PM PST, Friday (07/22/16). Thank you.
Labels: -ReleaseBlock-Beta
I'm removing the BetaBlocker label, since this is in WASM, which is off by default.
Project Member

Comment 11 by sheriffbot@chromium.org, Jul 21 2016

Labels: -Security_Impact-Head Security_Impact-Beta
Project Member

Comment 12 by sheriffbot@chromium.org, Jul 21 2016

Labels: ReleaseBlock-Stable
M53 Stable launch is coming soon.Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix asap so it gets chance to bake in beta before stable promotion. Thank you.
Project Member

Comment 14 by bugdroid1@chromium.org, Aug 3 2016

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

commit 6cf621ec891edb0c56ac1773a0fd57ee7a296713
Author: titzer <titzer@chromium.org>
Date: Wed Aug 03 22:54:41 2016

[wasm] Require global names to be validate UTF-8.

R=ahaas@chromium.org,bradnelson@chromium.org
BUG= chromium:628542 

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

[modify] https://crrev.com/6cf621ec891edb0c56ac1773a0fd57ee7a296713/src/wasm/module-decoder.cc

Status: Fixed (was: Assigned)
Project Member

Comment 16 by sheriffbot@chromium.org, Aug 4 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Status: Assigned (was: Fixed)
Re-open for a minute to attach one more reproducer.
Project Member

Comment 18 by ClusterFuzz, Aug 11 2016

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

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

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=400113:400163

Minimized Testcase (0.06 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95VhIfOm6nBMOiCShnxiq3zZZBgJh8r_HHZZ01rboKH1tZy9QrNzkLAeDLpsTqRWn83z8dN3NUtex5VaZcIvqQZfU3pAV7LfktbQnJDcSws8MKV411cq1CVstPXW67LSDFmMBIXM1UslDLfi9RPa8CecVme-g?testcase_id=4800721535107072

Issue manually filed by: mmoroz

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
Status: Fixed (was: Assigned)
Labels: Merge-Request-53

Comment 21 by dimu@chromium.org, Aug 11 2016

Labels: -Merge-Request-53 Merge-Approved-53 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M53 (branch: 2785)
Please merge your change to M53 branch 2785 latest by Friday 5:00 PM PT so we can take it in for next week Beta release. Thank you.
Project Member

Comment 23 by sheriffbot@chromium.org, Aug 15 2016

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

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

Comment 24 Deleted

Please merge your change by Tuesday (08/16) 4:00 PM PT so we can take it in for this week Beta release. Thank you.

Comment 26 Deleted

+mbarbella@ or +inferno@, could you please help with this merge before 4:00 PM PT today so we can take it for tomorrow's beta release. Thank you.
Project Member

Comment 28 by bugdroid1@chromium.org, Aug 17 2016

Labels: merge-merged-5.3
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/76836236dcadde0bcbccfb3206790e3339903e9a

commit 76836236dcadde0bcbccfb3206790e3339903e9a
Author: titzer <titzer@chromium.org>
Date: Wed Aug 17 08:48:42 2016

Merged: [wasm] Require global names to be validate UTF-8.

Revision: 6cf621ec891edb0c56ac1773a0fd57ee7a296713

BUG= chromium:628542 
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=hablich@chromium.org

Review-Url: https://codereview.chromium.org/2248213003
Cr-Commit-Position: refs/branch-heads/5.3@{#44}
Cr-Branched-From: 820a23aade5e74a92d794e05a0c2b3597f0da4b5-refs/heads/5.3.332@{#2}
Cr-Branched-From: 37538cb2c1b4d75c41af386cb4fedbe5566f5608-refs/heads/master@{#37308}

[modify] https://crrev.com/76836236dcadde0bcbccfb3206790e3339903e9a/src/wasm/module-decoder.cc

Labels: -Merge-Approved-53
Per comment #28, this is already merged to M53 so removing "Merge-Approved-53" label.
Project Member

Comment 30 by ClusterFuzz, Aug 20 2016

ClusterFuzz has detected this issue as fixed in range 413124:413277.

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

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

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=400113:400163
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=413124:413277

Minimized Testcase (0.06 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95VhIfOm6nBMOiCShnxiq3zZZBgJh8r_HHZZ01rboKH1tZy9QrNzkLAeDLpsTqRWn83z8dN3NUtex5VaZcIvqQZfU3pAV7LfktbQnJDcSws8MKV411cq1CVstPXW67LSDFmMBIXM1UslDLfi9RPa8CecVme-g?testcase_id=4800721535107072

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 31 by ClusterFuzz, Aug 20 2016

ClusterFuzz has detected this issue as fixed in range 413124:413277.

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

Fuzzer: libfuzzer_v8_wasm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

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

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=400113:400163
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=413124:413277

Minimized Testcase (0.06 Kb): https://cluster-fuzz.appspot.com/download/AMIfv94oTjKIoQAg11Vv760lOagidW5pd9GqnKVRKl7j0Hdoss1gOhieLA9Z4MEeq-AALXKQ71b0zpJRzYuEZCvRL-TLmdXmBrKGVYRUgxAwAzrGoDDMRKvpCCBIU7jeAXBFX_JIeLVuiXvTBH9hueNtd8jNY66lfA?testcase_id=5867155656802304

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.
Labels: -Hotlist-Merge-Approved -ReleaseBlock-Stable
Project Member

Comment 33 by sheriffbot@chromium.org, Nov 17 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