New issue
Advanced search Search tips

Issue 915433 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jan 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Integer-overflow in blink::BaseRenderingContext2D::getImageData

Project Member Reported by ClusterFuzz, Dec 15

Issue description

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

Fuzzer: jesse_avalanche
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::BaseRenderingContext2D::getImageData
  GetImageDataMethod
  blink::V8CanvasRenderingContext2D::GetImageDataMethodCallback
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=461444:461460

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

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.
 
Project Member

Comment 1 by ClusterFuzz, Dec 15

Components: Blink>Canvas
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 ClusterFuzz, Dec 15

Labels: Test-Predator-Auto-Owner
Owner: fs...@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/5aae822c218a67b706125e9620290026d523d629 (Update createImageData/getImageData/putImageData from float to long).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Cc: fs...@chromium.org
Owner: ----
Status: Available (was: Assigned)
Owner: juanmihd@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 17 (5 days ago)

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

commit be98250ca13460e8a84053a3da254963acd04602
Author: juanmihd <juanmihd@chromium.org>
Date: Thu Jan 17 17:53:53 2019

Safe negate dimensions for get/putImageData

Negating MIN_INT is invalid and breaks UBSan, so using SafeUnsignedAbs()
for conversion.

R=fserb@chromium.org

Bug:  915433 , 915441 
Change-Id: I90f3381fa0de4346b812bb1781b9ffbacc873516
Reviewed-on: https://chromium-review.googlesource.com/c/1415110
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Juanmi Huertas <juanmihd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623746}
[modify] https://crrev.com/be98250ca13460e8a84053a3da254963acd04602/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc

Project Member

Comment 6 by ClusterFuzz, Jan 18 (4 days ago)

ClusterFuzz has detected this issue as fixed in range 623744:623746.

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

Fuzzer: jesse_avalanche
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::BaseRenderingContext2D::getImageData
  GetImageDataMethod
  blink::V8CanvasRenderingContext2D::GetImageDataMethodCallback
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=461444:461460
Fixed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=623744:623746

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

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 7 by ClusterFuzz, Jan 18 (4 days ago)

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

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

Sign in to add a comment