New issue
Advanced search Search tips

Issue 629001 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 628450
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

Use-of-uninitialized-value in v8::internal::wasm::AsmWasmBuilderImpl::VisitCall

Project Member Reported by ClusterFuzz, Jul 18 2016

Issue description

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

Fuzzer: mbarbella_js_mutation
Job Type: linux_msan_d8
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  v8::internal::wasm::AsmWasmBuilderImpl::VisitCall
  v8::internal::wasm::AsmWasmBuilderImpl::Visit
  v8::internal::wasm::AsmWasmBuilderImpl::Visit
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_d8&range=405467:405478

Minimized Testcase (0.41 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv95HfUsbbRW7z0zmHEuEcfAH_-gS0NlMCvuwyHuKobQcsS2WvDVteFJOQOvGg1pSKh0vHtsO0ZN9paP6N2zv2tO4gSkHSlSthbJHQ4SbNlFlDVLYdZsWL-3SgPZujLL7r2SzfMqadYxgOZJpuGtTmsw3jwzXSA?testcase_id=5304720201875456
function __f_59(expected, __f_76, __f_7) {
 Wasm.instantiateModuleFromAsm( __f_76.toString());
}
function __f_112() {
}
(function () {
})();
function __f_57() {
  "use asm";
  function __f_108() {
    return 71;
  }
  function __f_19() {
    var __v_36 = 0;
    return __v_21[__v_36&0]() | 0;
  }
  return {__f_19:__f_19};
  var __v_21 = [__f_108]
}
__f_59(71, __f_57);
( {
})();
( {
})();
(function __f_64() {
})();


Filer: mmoroz

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

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

Components: -Blink>JavaScript Blink>JavaScript>WebAssembly
Labels: M-53 Pri-2
Owner: titzer@chromium.org
titzer@, git blame shows your commits for stack frames #3-#7. Could you please take a look?
Project Member

Comment 2 by sheriffbot@chromium.org, Jul 18 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 3 by sheriffbot@chromium.org, Jul 18 2016

Labels: -Pri-2 Pri-1
Project Member

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

Status: Assigned (was: Available)

Comment 5 by titzer@chromium.org, Jul 18 2016

Labels: -ReleaseBlock-Beta
Removing the beta blocker label since this only affects asm->wasm conversion, which is not yet turned on.

Comment 6 by titzer@chromium.org, Jul 18 2016

Labels: -Restrict-View-SecurityTeam -Security_Severity-Medium -Security_Impact-Head -Stability-Memory-MemorySanitizer
Mergedinto: 628450
Status: Duplicate (was: Assigned)
Project Member

Comment 7 by ClusterFuzz, Jul 23 2016

ClusterFuzz has detected this issue as fixed in range 407057:407074.

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

Fuzzer: mbarbella_js_mutation
Job Type: linux_msan_d8
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  v8::internal::wasm::AsmWasmBuilderImpl::VisitCall
  v8::internal::wasm::AsmWasmBuilderImpl::Visit
  v8::internal::wasm::AsmWasmBuilderImpl::Visit
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_d8&range=405467:405478
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_d8&range=407057:407074

Minimized Testcase (0.41 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv95HfUsbbRW7z0zmHEuEcfAH_-gS0NlMCvuwyHuKobQcsS2WvDVteFJOQOvGg1pSKh0vHtsO0ZN9paP6N2zv2tO4gSkHSlSthbJHQ4SbNlFlDVLYdZsWL-3SgPZujLL7r2SzfMqadYxgOZJpuGtTmsw3jwzXSA?testcase_id=5304720201875456
function __f_59(expected, __f_76, __f_7) {
 Wasm.instantiateModuleFromAsm( __f_76.toString());
}
function __f_112() {
}
(function () {
})();
function __f_57() {
  "use asm";
  function __f_108() {
    return 71;
  }
  function __f_19() {
    var __v_36 = 0;
    return __v_21[__v_36&0]() | 0;
  }
  return {__f_19:__f_19};
  var __v_21 = [__f_108]
}
__f_59(71, __f_57);
( {
})();
( {
})();
(function __f_64() {
})();


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.
Project Member

Comment 8 by sheriffbot@chromium.org, Oct 25 2016

Labels: 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