New issue
Advanced search Search tips

Issue 792109 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Security



Sign in to add a comment

Heap-buffer-overflow in ConstantUnion::operator-

Project Member Reported by ClusterFuzz, Dec 5 2017

Issue description

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

Fuzzer: libFuzzer_swiftshader_vertex_routine_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x6030000097a8
Crash State:
  ConstantUnion::operator-
  TIntermediate::addBinaryMath
  TParseContext::addBinaryMath
  
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=6741810952273920

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Components: Internals>GPU>SwiftShader
Labels: Pri-1
Owner: capn@chromium.org
Status: Assigned (was: Untriaged)
Nothing obvious in the regression range; the only SwiftShader roll is: https://swiftshader.googlesource.com/SwiftShader.git/+log/a0aa5fd..05bcbe6

capn@ could you please help triage?
Project Member

Comment 2 by sheriffbot@chromium.org, Dec 6 2017

Labels: M-64
Project Member

Comment 3 by sheriffbot@chromium.org, Dec 6 2017

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

Comment 4 by capn@chromium.org, Dec 6 2017

Cc: sugoi@chromium.org
Labels: -Pri-1 -ReleaseBlock-Stable ReleaseBlock-NA Pri-2
Re #4: Issues of Security Severity Medium typically get a Pri-1 severity (https://chromium.googlesource.com/chromium/src/+/lkcr/docs/security/severity-guidelines.md). Is there a mitigating factor here that's not obvious and which also reduces the Security Severity?
Project Member

Comment 6 by sheriffbot@chromium.org, Dec 7 2017

Labels: -Security_Impact-Head Security_Impact-Beta

Comment 7 by capn@chromium.org, Dec 7 2017

This only affects the GPU process, which is where the (generally untrusted) graphics driver runs. Graphics driver crashes are common enough that we have a three-strikes mechanism to fall back to dedicated CPU based graphics and not use the GPU process.

Note that in general the graphics driver is a black box to us, but in the case of SwiftShader we have full source code and this recently added fuzzer is finding some edge cases to make it crash. It's still more robust that many of the GPU drivers though.

We'll make a coordinated attempt at fixing all of the issues found by this fuzzer in Q1, but for now I don't think these are P1 nor release blockers.
Project Member

Comment 8 by ClusterFuzz, Dec 20 2017

ClusterFuzz has detected this issue as fixed in range 525196:525217.

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

Fuzzer: libFuzzer_swiftshader_vertex_routine_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x6030000097a8
Crash State:
  ConstantUnion::operator-
  TIntermediate::addBinaryMath
  TParseContext::addBinaryMath
  
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=525196:525217

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

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 9 by ClusterFuzz, Dec 20 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 6741810952273920 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 10 by sheriffbot@chromium.org, Dec 20 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

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

Labels: -Security_Impact-Beta -M-64 M-65 Security_Impact-Stable
Project Member

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

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