New issue
Advanced search Search tips

Issue 814987 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Heap-buffer-overflow in getAddress

Project Member Reported by ClusterFuzz, Feb 23 2018

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=6313397730410496

Fuzzer: libFuzzer_swiftshader_vertex_routine_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 8
Crash Address: 0x62d00004e400
Crash State:
  getAddress
  sw::Array<sw::Float4, 1>::operator
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=521502:521564

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6313397730410496

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Feb 23 2018

Components: Internals>GPU>SwiftShader
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by sheriffbot@chromium.org, Feb 24 2018

Labels: M-65
Project Member

Comment 3 by sheriffbot@chromium.org, Feb 24 2018

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 4 by sheriffbot@chromium.org, Feb 24 2018

Labels: Pri-1

Comment 5 by gov...@chromium.org, Feb 24 2018

Cc: awhalley@chromium.org
+awhalley@, could you ptal and assign to appropriate dev pls? Thank you.

Comment 6 by gov...@chromium.org, Feb 25 2018

M65 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Merge has to happen latest by 1:00 PM PT Tuesday (02/27/18) in order to make it to last M65 beta release next week. Thank you.

Comment 7 by sugoi@chromium.org, Feb 26 2018

Labels: -ReleaseBlock-Stable ReleaseBlock-NA
Owner: sugoi@chromium.org
Project Member

Comment 8 by sheriffbot@chromium.org, Feb 26 2018

Status: Assigned (was: Untriaged)
Project Member

Comment 9 by sheriffbot@chromium.org, Mar 7 2018

Labels: -Security_Impact-Beta Security_Impact-Stable
Project Member

Comment 10 by sheriffbot@chromium.org, Mar 12 2018

sugoi: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

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

Comment 11 by sheriffbot@chromium.org, Mar 27 2018

sugoi: Uh oh! This issue still open and hasn't been updated in the last 29 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

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

Comment 12 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/329747ca1c0fc80010ac55f2fa41c22d3c56c1a0

commit 329747ca1c0fc80010ac55f2fa41c22d3c56c1a0
Author: Alexis Hetu <sugoi@google.com>
Date: Fri Apr 13 12:07:22 2018

Added check for temporary register overflow

Currently, when overflowing the number of temporary registers
allowed, SwiftShader will crash somewhere in the generated
code. This cl adds an early check to prevent the crash and
instead output an error message to the user.

 Bug chromium:814987 

Change-Id: Idadda21ee14298662763d986ee1283a5114c1c01
Reviewed-on: https://swiftshader-review.googlesource.com/18388
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>

[modify] https://crrev.com/329747ca1c0fc80010ac55f2fa41c22d3c56c1a0/src/Main/Config.hpp
[modify] https://crrev.com/329747ca1c0fc80010ac55f2fa41c22d3c56c1a0/src/OpenGL/compiler/OutputASM.cpp
[modify] https://crrev.com/329747ca1c0fc80010ac55f2fa41c22d3c56c1a0/src/Shader/PixelProgram.hpp
[modify] https://crrev.com/329747ca1c0fc80010ac55f2fa41c22d3c56c1a0/src/Shader/VertexProgram.hpp

Project Member

Comment 13 by sheriffbot@chromium.org, Apr 18 2018

Labels: -M-65 M-66
Project Member

Comment 14 by ClusterFuzz, Apr 20 2018

ClusterFuzz has detected this issue as fixed in range 552045:552055.

Detailed report: https://clusterfuzz.com/testcase?key=6313397730410496

Fuzzer: libFuzzer_swiftshader_vertex_routine_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 8
Crash Address: 0x62d00004e400
Crash State:
  getAddress
  sw::Array<sw::Float4, 1>::operator
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=521502:521564
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=552045:552055

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6313397730410496

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.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 15 by ClusterFuzz, Apr 20 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 6313397730410496 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Project Member

Comment 16 by sheriffbot@chromium.org, Apr 20 2018

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: -M-66 M-68
Labels: Release-0-M68
Project Member

Comment 19 by sheriffbot@chromium.org, Jul 27

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