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

Issue 643935 link

Starred by 1 user

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 gpu::gles2::Texture::SetLevelInfo

Project Member Reported by ClusterFuzz, Sep 3 2016

Issue description

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

Fuzzer: afl_gpu_fuzzer
Job Type: afl_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x60a000002a88
Crash State:
  gpu::gles2::Texture::SetLevelInfo
  gpu::gles2::TextureManager::SetLevelInfo
  gpu::gles2::GLES2DecoderImpl::TexStorageImpl
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=afl_chrome_asan&range=416342:416450

Minimized Testcase (2.99 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97CHnv5qvEvOQpxCfFPScUcqaIPGQy6SeTwY1KDFDI7Y8HZB6jP1Sq3b_IKg9eUwmEj5zwb2ahiHqnsdpjJADbVLbKhHYd0Zr0yXuvMWBELl-KfpqPVwzbHeYyk8XY8XkmDtfEozdDQSpAj7XtYa4nrDWzTCw?testcase_id=5735696365256704

Issue filed automatically.

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

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

Labels: M-54
Project Member

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

Labels: Pri-1

Comment 4 by vakh@chromium.org, Sep 5 2016

Components: Blink>WebGL Internals>GPU>Internals

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

Cc: gman@chromium.org ericrk@chromium.org
Owner: yunchao...@intel.com
yunchao.he@intel.com -- can you please take a look at this bug and help triage this asap? Thanks.

Comment 6 by vakh@chromium.org, Sep 5 2016

Status: Available (was: Untriaged)
Cc: kbr@chromium.org piman@chromium.org zmo@chromium.org yunchao...@intel.com
Owner: ----
Sorry, I have no access to the instructions to reproduce this crash issue. 

@zmo and @kbr and @piman, could you take a look at this p1 bug? 
Project Member

Comment 8 by sheriffbot@chromium.org, Sep 5 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
Owner: piman@chromium.org
Status: Started (was: Available)
I suspect this is not a regression, but just got found by the fuzzer after increasing coverage with https://codereview.chromium.org/2299413003

I'll take a look.
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 6 2016

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

commit c0c7eb6cf1e79164fc2a261a25d063252e7a0096
Author: piman <piman@chromium.org>
Date: Tue Sep 06 20:36:04 2016

Correctly limit glTexStorage*(GL_TEXTURE_RECTANGLE_ARB, ...) to 1 mip level

BUG= 643935 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/c0c7eb6cf1e79164fc2a261a25d063252e7a0096/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/c0c7eb6cf1e79164fc2a261a25d063252e7a0096/gpu/command_buffer/service/texture_manager.cc

Project Member

Comment 13 by ClusterFuzz, Sep 7 2016

ClusterFuzz has detected this issue as fixed in range 416652:416734.

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

Fuzzer: afl_gpu_fuzzer
Job Type: afl_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x60a000002a88
Crash State:
  gpu::gles2::Texture::SetLevelInfo
  gpu::gles2::TextureManager::SetLevelInfo
  gpu::gles2::GLES2DecoderImpl::TexStorageImpl
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=afl_chrome_asan&range=416342:416450
Fixed: https://cluster-fuzz.appspot.com/revisions?job=afl_chrome_asan&range=416652:416734

Minimized Testcase (2.99 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97CHnv5qvEvOQpxCfFPScUcqaIPGQy6SeTwY1KDFDI7Y8HZB6jP1Sq3b_IKg9eUwmEj5zwb2ahiHqnsdpjJADbVLbKhHYd0Zr0yXuvMWBELl-KfpqPVwzbHeYyk8XY8XkmDtfEozdDQSpAj7XtYa4nrDWzTCw?testcase_id=5735696365256704

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 14 by ClusterFuzz, Sep 7 2016

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
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 15 by sheriffbot@chromium.org, Sep 7 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: Merge-Request-54
It's fixed on trunk, do we want to merge to M54?
Note, it's not a regression, it's been broken virtually forever.

Comment 17 by dimu@chromium.org, Sep 7 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 18 by bugdroid1@chromium.org, Sep 7 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6136759230f2769649e5b41ab070da84f45ac8ad

commit 6136759230f2769649e5b41ab070da84f45ac8ad
Author: Antoine Labour <piman@chromium.org>
Date: Wed Sep 07 23:36:23 2016

Correctly limit glTexStorage*(GL_TEXTURE_RECTANGLE_ARB, ...) to 1 mip level

BUG= 643935 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2315773002
Cr-Commit-Position: refs/heads/master@{#416708}
(cherry picked from commit c0c7eb6cf1e79164fc2a261a25d063252e7a0096)

Review URL: https://codereview.chromium.org/2325493002 .

Cr-Commit-Position: refs/branch-heads/2840@{#224}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/6136759230f2769649e5b41ab070da84f45ac8ad/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/6136759230f2769649e5b41ab070da84f45ac8ad/gpu/command_buffer/service/texture_manager.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6136759230f2769649e5b41ab070da84f45ac8ad

commit 6136759230f2769649e5b41ab070da84f45ac8ad
Author: Antoine Labour <piman@chromium.org>
Date: Wed Sep 07 23:36:23 2016

Correctly limit glTexStorage*(GL_TEXTURE_RECTANGLE_ARB, ...) to 1 mip level

BUG= 643935 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2315773002
Cr-Commit-Position: refs/heads/master@{#416708}
(cherry picked from commit c0c7eb6cf1e79164fc2a261a25d063252e7a0096)

Review URL: https://codereview.chromium.org/2325493002 .

Cr-Commit-Position: refs/branch-heads/2840@{#224}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/6136759230f2769649e5b41ab070da84f45ac8ad/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/6136759230f2769649e5b41ab070da84f45ac8ad/gpu/command_buffer/service/texture_manager.cc

Project Member

Comment 20 by sheriffbot@chromium.org, Dec 14 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