New issue
Advanced search Search tips

Issue 749686 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Task



Sign in to add a comment

Bad-cast to gl::Object from es2::Context;egl::Display::createContext;gl::GLContextEGL::Initialize

Project Member Reported by ClusterFuzz, Jul 27 2017

Issue description

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

Fuzzer: libFuzzer_gpu_swiftshader_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Bad-cast
Crash Address: 0x2816243d3000
Crash State:
  Bad-cast to gl::Object from es2::Context
  egl::Display::createContext
  gl::GLContextEGL::Initialize
  
Sanitizer: undefined (UBSAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=489841:489889

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


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, Jul 28 2017

Labels: M-61
Project Member

Comment 2 by sheriffbot@chromium.org, Jul 28 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
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 28 2017

Labels: Pri-1

Comment 4 by awhalley@google.com, Jul 28 2017

Labels: -M-61 M-62

Comment 5 by vakh@chromium.org, Jul 31 2017

Cc: capn@chromium.org apatrick@chromium.org

Comment 6 by vakh@chromium.org, Jul 31 2017

Cc: -capn@chromium.org
Owner: capn@chromium.org
Status: Assigned (was: Untriaged)
capn@chromium.org -- assigning you since you are the author of the line on top of the call stack. Please help triage this bug if you are not the right person to own this. Thanks.

Comment 7 by vakh@chromium.org, Jul 31 2017

Components: Blink>WebVR UI>Browser>VR

Comment 8 by capn@chromium.org, Jul 31 2017

Cc: -apatrick@chromium.org
Components: -Blink>WebVR -UI>Browser>VR Internals>GPU>SwiftShader
Labels: -Type-Bug-Security -Pri-1 -Restrict-View-SecurityTeam -Security_Impact-Head -Security_Severity-High -ReleaseBlock-Stable ReleaseBlock-NA Pri-2 Type-Task
This is a false positive, similiar to  Issue 736624  and  Issue 722058 . UBSan doesn't know the types of objects created in another module.

Oddly enough this should already be suppressed by this line: https://cs.chromium.org/chromium/src/tools/ubsan/vptr_blacklist.txt?q=vptr_blacklist.txt&sq=package:chromium&dr&rcl=2fc84faa525735f69bcf2ecdf1ca03f542d5fc73&l=112

Comment 9 by ta...@google.com, Jul 31 2017

I've reuploaded the testcase (https://clusterfuzz.com/v2/testcase-detail/4863094676520960), so that it works with the reproduce tool. Sorry about the brittleness.
Project Member

Comment 10 by ClusterFuzz, Sep 7 2017

ClusterFuzz has detected this issue as fixed in range 500168:500210.

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

Fuzzer: libFuzzer_gpu_swiftshader_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Bad-cast
Crash Address: 0x2816243d3000
Crash State:
  Bad-cast to gl::Object from es2::Context
  egl::Display::createContext
  gl::GLContextEGL::Initialize
  
Sanitizer: undefined (UBSAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=489841:489889
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=500168:500210

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

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 11 by ClusterFuzz, Sep 7 2017

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Labels: Merge-TBD
[Auto-generated comment by a script] We noticed that this issue is targeted for M-62; it appears the fix may have landed after branch point, meaning a merge might be required. Please confirm if a merge is required here - if so add Merge-Request-62 label, otherwise remove Merge-TBD label. Thanks.

Comment 13 by capn@chromium.org, Sep 7 2017

Labels: -Merge-TBD
This has no impact on users, and is a false positive, so no merge required.
Project Member

Comment 14 by ClusterFuzz, Sep 7 2017

ClusterFuzz has detected this issue as fixed in range 500168:500210.

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

Fuzzer: libFuzzer_gpu_swiftshader_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Bad-cast
Crash Address: 0x2816243d3000
Crash State:
  Bad-cast to gl::Object from es2::Context
  egl::Display::createContext
  gl::GLContextEGL::Initialize
  
Sanitizer: undefined (UBSAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=489841:489889
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=500168:500210

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

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.

Comment 15 by capn@chromium.org, Sep 14 2017

 Issue 764231  has been merged into this issue.
Project Member

Comment 16 by ClusterFuzz, Sep 14 2017

Labels: Needs-Feedback
ClusterFuzz testcase 5182276072898560 is still reproducing on tip-of-tree build (trunk).

Please re-test your fix against this testcase and if the fix was incorrect or incomplete, please re-open the bug. Otherwise, ignore this notification and add ClusterFuzz-Wrong label.

Comment 17 by capn@chromium.org, Sep 14 2017

Labels: ClusterFuzz-Ignore
This is a false positive, caused by passing pointers between libEGL.so and libGLESv2.so. These are simple upcasts, but UBSAN doesn't appear to have the type information to verify it, despite our attempts to make it available: https://swiftshader-review.googlesource.com/10728
Project Member

Comment 18 by ClusterFuzz, Oct 1 2017

Components: Internals>GPU>Internals
Labels: Test-Predator-AutoComponents
Automatically applying components based on information from OWNERS files. If this seems incorrect, please apply the Test-Predator-Wrong-Components label.
Labels: -Test-Predator-AutoComponents Test-Predator-Auto-Components

Sign in to add a comment