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

Issue 629004 link

Starred by 1 user

Issue metadata

Status: Verified
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 gpu::gles2::GLES2DecoderImpl::DoDrawBuffersEXT

Project Member Reported by ClusterFuzz, Jul 18 2016

Issue description

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

Fuzzer: libfuzzer_gpu_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  gpu::gles2::GLES2DecoderImpl::DoDrawBuffersEXT
  gpu::gles2::GLES2DecoderImpl::HandleDrawBuffersEXTImmediate
  gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=405554:405701

Minimized Testcase (0.02 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96s9KBa-7NC9rEYOY01gvvdW88nZEFHNdO1_HxzX7TSfKPgaHo0BQxu0f9Dit4ACRDYayxxZoX9uFZ3i6KnUV4ezCxIa2lBlLvuVF7DqNYeVgudtrqt5dMflqclGEBISep0_mkdTfCVwVEHRP88UDUaYZZeaw?testcase_id=6347013000265728

Filer: mmoroz

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

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

Components: Internals>GPU
Labels: M-53 Pri-2
Owner: piman@chromium.org
piman@, awesome to see your fuzzer in action! Could you please help to triage this?
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 aarya@google.com, Jul 18 2016

Cc: kbr@chromium.org zmo@chromium.org siev...@chromium.org
This is really awesome, thanks for writing this gpu command buffer fuzzer using libfuzzer unittests. I encourage you to write even more gpu fuzzers as our fuzzer coverage is not good in this area.

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

Cc: mmoroz@chromium.org kcc@chromium.org aizatsky@chromium.org
What kind of data does the target expect? I mean, is there any structure, or key words / magic constants?

If yes, we should definitely add a dictionary, it may significantly increase coverage.

Comment 7 by piman@chromium.org, Jul 18 2016

Hey, look at that, it runs in ClusterFuzz :)

I have a fairly large corpus that I generated locally, which I will upload - it already found a bunch of stuff locally - this will significantly increase coverage.

There is some structure to the command buffer, but it is defined implicitly in code. I've been thinking of ways to generate a dictionary, and see if we can feed that to the fuzzer.
Project Member

Comment 8 by ClusterFuzz, Jul 19 2016

ClusterFuzz has detected this issue as fixed in range 406010:406169.

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

Fuzzer: libfuzzer_gpu_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  gpu::gles2::GLES2DecoderImpl::DoDrawBuffersEXT
  gpu::gles2::GLES2DecoderImpl::HandleDrawBuffersEXTImmediate
  gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=405554:405701
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=406010:406169

Minimized Testcase (0.02 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96s9KBa-7NC9rEYOY01gvvdW88nZEFHNdO1_HxzX7TSfKPgaHo0BQxu0f9Dit4ACRDYayxxZoX9uFZ3i6KnUV4ezCxIa2lBlLvuVF7DqNYeVgudtrqt5dMflqclGEBISep0_mkdTfCVwVEHRP88UDUaYZZeaw?testcase_id=6347013000265728

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, Jul 19 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, Jul 19 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify

Comment 11 by aarya@google.com, Jul 19 2016

Even though bugdroid forgot to update here - https://chromium.googlesource.com/chromium/src/+/19ea5e66d31e815c7689977de71222e1b0984c92%5E%21/#F0, clusterfuzz didn't forget to verify :)
Labels: -ReleaseBlock-Beta -ClusterFuzz -M-53 Clusterfuzz M-54
Project Member

Comment 13 by sheriffbot@chromium.org, Oct 25 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