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

Issue 643970 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

Use-of-uninitialized-value in SkUnPreMultiply::PMColorToColor

Project Member Reported by ClusterFuzz, Sep 4 2016

Issue description

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

Fuzzer: ochang_domfuzzer
Job Type: linux_msan_content_shell_drt
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  SkUnPreMultiply::PMColorToColor
  SkBitmap::getColor
  blink::DrawingDisplayItem::equals
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_content_shell_drt&range=416257:416283

Minimized Testcase (1.37 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96Gc0myEKHyAN_hwjp2vgR13a_JDFS8i8eamHD_4ctv3C1qkiOmbXQUMi7T7Gw8dYF6Mf8IRsuNLq2SqvcDTynrqyN6G0YO6RKxL82EOlLtV5mMBtv1aBEChQMXQ0RkkSqPaK428gWd9GXZxrTQ1hkJVHAMlA?testcase_id=5973049612697600

Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

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

Cc: mtkl...@google.com
Components: Internals>Skia>Compositing Internals>Skia
Owner: b.kele...@samsung.com
Status: Assigned (was: Untriaged)
b.kelemen@samsung.com: I am not sure if you are the right owner but I'm just the sheriff and I know a lot less about the code than you do so if you are not the right owner, please help find the right owner and triage this bug appropriately. Thank you!

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

Forgot to add: Assigning you as the owner because one of your CLs changed the topmost frame last.
Project Member

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

Labels: M-54
Project Member

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

Labels: Pri-1

Comment 6 by mtkl...@google.com, Sep 4 2016

There is no security risk to passing uninitialized data to SkUnPreMultiply::PMColorToColor().  It handles all 2^32 inputs.

However, this implies you have an SkBitmap containing uninitialized pixels.  That's not usually a good state to be in once done drawing.

It looks like PaintController::checkUnderInvalidation() is diagnostic code.  I would contact wangxianzhu, its author.  I cannot CC him without you first CC'ing mtklein@chromium.org to this bug.

I think the simplest fix is probably to call bitmap.eraseColor(0x00000000); in blink::pictureToBitmap().

Comment 7 by aarya@google.com, Sep 4 2016

Cc: b.kele...@samsung.com reed@chromium.org
Owner: wangxianzhu@chromium.org
Project Member

Comment 8 by sheriffbot@chromium.org, Sep 5 2016

Labels: -Security_Impact-Head Security_Impact-Beta
Labels: -ReleaseBlock-Beta
Based on #6 this shouldn't be a release blocker, removing the ReleaseBlock-Beta label.
Project Member

Comment 10 by ClusterFuzz, Sep 6 2016

ClusterFuzz has detected this issue as fixed in range 416466:416526.

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

Fuzzer: ochang_domfuzzer
Job Type: linux_msan_content_shell_drt
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  SkUnPreMultiply::PMColorToColor
  SkBitmap::getColor
  blink::DrawingDisplayItem::equals
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_content_shell_drt&range=416257:416283
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_msan_content_shell_drt&range=416466:416526

Minimized Testcase (1.37 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96Gc0myEKHyAN_hwjp2vgR13a_JDFS8i8eamHD_4ctv3C1qkiOmbXQUMi7T7Gw8dYF6Mf8IRsuNLq2SqvcDTynrqyN6G0YO6RKxL82EOlLtV5mMBtv1aBEChQMXQ0RkkSqPaK428gWd9GXZxrTQ1hkJVHAMlA?testcase_id=5973049612697600

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs 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 6 2016

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

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

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