| Issue 10869: | Buffer overflow in browser process while de-serializing SkBitmap (heap overwrite) | |
| 1 person starred this issue and may be notified of changes. | Back to list |
Sign in to add a comment
|
The function bool ParamTraits<SkBitmap>::Read(const Message* m, void** iter, SkBitmap* has a buffer overflow when it calls bmp_data->InitSkBitmapFromData(r, variable_data, variable_data_size); Because |bmp_data| and |variable_data| need to be consistent with each other but nobody checks that is so. In other words, we have: memcpy(bitmap->getPixels(), pixels, total_pixels); and |pixels| and |total_pixels| are attacker controlled. |
||||||||||||||||||
,
Apr 22, 2009
This is a render->browser escalation, right? In other words, ParamTraits<SkBitmap>::Read isn't exposed directly to web content.
Cc: aba...@chromium.org
|
|||||||||||||||||||
,
Apr 22, 2009
Assigned for investigation.
Status: Assigned
Owner: aba...@chromium.org Labels: -Area-Misc Area-BrowserBackend |
|||||||||||||||||||
,
Apr 22, 2009
(No comment was entered for this change.)
Cc: c...@chromium.org secur...@chromium.org
|
|||||||||||||||||||
,
Apr 22, 2009
http://codereview.chromium.org/92064 |
|||||||||||||||||||
,
Apr 23, 2009
@1 : Yes, I think you are correct. |
|||||||||||||||||||
,
Apr 23, 2009
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=14398
------------------------------------------------------------------------
r14398 | abarth@chromium.org | 2009-04-23 17:31:12 -0700 (Thu, 23 Apr 2009) | 7 lines
Changed paths:
M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/ipc_message_unittest.cc?r1=14398&r2=14397
M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/ipc_message_utils.cc?r1=14398&r2=14397
Check the size of bitmaps coming over IPC.
R=cpu
BUG=10869
TEST=IPCMessageTest.Bitmap
Review URL: http://codereview.chromium.org/92064
------------------------------------------------------------------------
|
|||||||||||||||||||
,
Apr 23, 2009
I reverted the above because the mac build was messed up. Real fix landed in 14408. |
|||||||||||||||||||
,
Apr 23, 2009
We probably want this fix on all branches.
Status: FixUnreleased
Owner: m...@chromium.org |
|||||||||||||||||||
,
Apr 23, 2009
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=14416
------------------------------------------------------------------------
r14416 | mal@chromium.org | 2009-04-23 22:56:26 -0700 (Thu, 23 Apr 2009) | 7 lines
Changed paths:
M http://src.chromium.org/viewvc/chrome/branches/release_154.next/src/chrome/common/ipc_message_unittest.cc?r1=14416&r2=14415
M http://src.chromium.org/viewvc/chrome/branches/release_154.next/src/chrome/common/ipc_message_utils.cc?r1=14416&r2=14415
Merge r14408.
Fixes an IPC problem.
BUG=10869
TBR= abarth, cpu
Review URL: http://codereview.chromium.org/94006
------------------------------------------------------------------------
|
|||||||||||||||||||
,
Apr 23, 2009
Depending how fastidious you want to be about the release branch, you could consider moving http://src.chromium.org/viewvc/chrome?view=rev&revision=14413 as well. That patch affects only the unit test. |
|||||||||||||||||||
,
Apr 23, 2009
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=14418
------------------------------------------------------------------------
r14418 | mal@chromium.org | 2009-04-23 23:46:37 -0700 (Thu, 23 Apr 2009) | 7 lines
Changed paths:
M http://src.chromium.org/viewvc/chrome/branches/release_154.next/src/chrome/common/ipc_message_unittest.cc?r1=14418&r2=14417
Merge r14413.
Another unit test change for the IPC fix.
BUG= 10869
TBR= abarth
Review URL: http://codereview.chromium.org/92118
------------------------------------------------------------------------
|
|||||||||||||||||||
,
Apr 25, 2009
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=14554
------------------------------------------------------------------------
r14554 | mal@chromium.org | 2009-04-25 18:02:08 -0700 (Sat, 25 Apr 2009) | 7 lines
Changed paths:
M http://src.chromium.org/viewvc/chrome/branches/172/src/chrome/common/ipc_message_unittest.cc?r1=14554&r2=14553
M http://src.chromium.org/viewvc/chrome/branches/172/src/chrome/common/ipc_message_utils.cc?r1=14554&r2=14553
Merge r14408 and r14413.
Fixes an IPC problem.
BUG= 10869
TBR= abarth,cpu
Review URL: http://codereview.chromium.org/99033
------------------------------------------------------------------------
|
|||||||||||||||||||
,
Apr 27, 2009
Any thoughts on how QA can verify this fix on a release branch? |
|||||||||||||||||||
,
Apr 27, 2009
Hum... That's a good question. I don't think there is any input you can feed to Chrome to trigger this condition (you'd basically have to find another exploit to get here). Theoretically, we could write a QA tool to talk directly to the IPC channel, but that would take some amount of time. Carlos, do you have any ideas? Maybe something based on our IPC fuzzing tests? |
|||||||||||||||||||
,
Apr 27, 2009
I think we'll just depend on the unit test. I forgot that we included one for this bug when I was writing the test notes for QA. |
|||||||||||||||||||
,
May 05, 2009
154.64 has been released.
Status: Fixed
Labels: -private |
|||||||||||||||||||
|
|
|||||||||||||||||||