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

Issue 638445 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Integer-overflow in blink::BMPImageReader::readInfoHeader

Project Member Reported by ClusterFuzz, Aug 17 2016

Issue description

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

Fuzzer: ochang_search_index_mutator
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::BMPImageReader::readInfoHeader
  blink::BMPImageReader::processInfoHeader
  blink::BMPImageReader::decodeBMP
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_chrome&range=370022:370027

Minimized Testcase (0.19 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96SmV10sfc12JSa8VIwWmK-oJDtYx30eGuvv_dqk4YALyN-luAQ5p6v3ZsZ9IPkz-YZwk15A7LNDhdrB7RgfCUKxL1CdIswTDfLKsxVPhaVUO2XhIGf6HSzCr47NMXW-4YTO0CBWnR8d4_78l2LA1OQtxTtsA?testcase_id=6374870986522624

Issue manually filed by: mummareddy

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: fmalita@chromium.org pkasting@chromium.org
Components: Blink>Image
Labels: findit-wrong Te-Logged M-53
Owner: aleksand...@intel.com
Status: Assigned (was: Untriaged)
From findit tool:

Author: aleksandar.stojiljkovic
Project: chromium
Changelist: https://chromium.googlesource.com/chromium/src//+/f32e119c6c7ec9e98298fcd43a285b735f021952
Time: Fri Jun 17 06:42:39 2016
The CL last changed line 269 of file DeferredImageDecoder.cpp, which is stack frame 6.

Suspected Project: chromium
Suspected Component: Blink>Image 
This isn't a regression.  The problem is that BMPImageReader::readInfoHeader() flips the sign of negative heights, which doesn't work for INT_MIN.

We already reject images with widths/heights >= 1 << 16 in isInfoHeaderValid(), so we're going to want to reject this image anyway.  So we should just make the code there return m_parent->setFailed() for INT_MIN.
Status: Started (was: Assigned)
Project Member

Comment 5 by ClusterFuzz, Aug 20 2016

ClusterFuzz has detected this issue as fixed in range 413122:413173.

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

Fuzzer: ochang_search_index_mutator
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::BMPImageReader::readInfoHeader
  blink::BMPImageReader::processInfoHeader
  blink::BMPImageReader::decodeBMP
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_chrome&range=370022:370027
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_chrome&range=413122:413173

Minimized Testcase (0.19 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96SmV10sfc12JSa8VIwWmK-oJDtYx30eGuvv_dqk4YALyN-luAQ5p6v3ZsZ9IPkz-YZwk15A7LNDhdrB7RgfCUKxL1CdIswTDfLKsxVPhaVUO2XhIGf6HSzCr47NMXW-4YTO0CBWnR8d4_78l2LA1OQtxTtsA?testcase_id=6374870986522624

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 6 by ClusterFuzz, Aug 20 2016

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
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 7 by sheriffbot@chromium.org, Nov 22 2016

Labels: -Restrict-View-EditIssue
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label.

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

Sign in to add a comment