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

Issue 620949 link

Starred by 1 user

Issue metadata

Status: Fixed
Merged: issue 594004
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Security



Sign in to add a comment

Security: Adobe Flash PSDK.Object Use After Free

Reported by xiong12...@gmail.com, Jun 17 2016

Issue description



VULNERABILITY DETAILS


VERSION
Chrome Version: 52.0.2743.41 beta-m (64-bit)
Operating System: Windows 7 en 64-bit

REPRODUCTION CASE

This is a use after free vulnerability on an inner object of the PSDK object.
When you call the getter property PSDK.pSDK, you can get an instance of PSDK object. And if you do this:

var o1 = PSDK.pSDK;
var o2 = PSDK.pSDK;

o1 and o2 will be different objects, while they share a same inner object. And if you call 

o1.release();

The inner object will be freed while o2 still has a reference to it. This causes the use after free issue. This bug is highly exploitable. I attached a poc to demonstrate eip-control in chrome 64-bit windows. To test this poc, just visit the index.html with chrome.


FOR CRASHES, PLEASE INCLUDE THE FOLLOWING ADDITIONAL INFORMATION

Type of crash: Tab (Flash Content Process)

Crash State: 

(15e0.1594): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Google\Chrome\Application\52.0.2743.41\PepperFlash\pepflashplayer.dll - 
pepflashplayer!PPP_ShutdownBroker+0x6430be:
000007fe`d83e466e ff5018          call    qword ptr [rax+18h] ds:88888888`888888a0=????????????????
0:000> k
Child-SP          RetAddr           Call Site
00000000`001ebc90 000007fe`d8106ffc pepflashplayer!PPP_ShutdownBroker+0x6430be
00000000`001ebdd0 0000048d`cbec5d0c pepflashplayer!PPP_ShutdownBroker+0x365a4c
00000000`001ebe00 00000000`001ebec0 0x48d`cbec5d0c
00000000`001ebe08 000007fe`d7f77890 0x1ebec0
00000000`001ebe10 0000048d`cbed7a5a pepflashplayer!PPP_ShutdownBroker+0x1d62e0
00000000`001ebe40 00000000`00000000 0x48d`cbed7a5a


0:000> lmvm pepflashplayer
start             end                 module name
000007fe`d7da0000 000007fe`d9ca7000   pepflashplayer   (export symbols)       C:\Program Files 
    Image name: pepflashplayer.dll
    Timestamp:        Tue Jun 14 06:26:14 2016 (575F3306)
    CheckSum:         01E1E3D1
    ImageSize:        01F07000
    File version:     22.0.0.192
    Product version:  22.0.0.192
    File flags:       0 (Mask 3F)
    File OS:          4 Unknown Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0409.04b0



 

Comment 1 by est...@chromium.org, Jun 17 2016

Components: Internals>Plugins>Flash
Owner: natashenka@google.com
Thanks for the report.

natashenka, can you please take a look?
Project Member

Comment 2 by ClusterFuzz, Jun 18 2016

Status: Assigned (was: Unconfirmed)
I believe this is a duplicate of  issue 594004 , which was reported in March. 
Mergedinto: 594004
Status: Duplicate (was: Assigned)
Merging into 594004 as per comment 3
Hi, Natashenka,

I believe this is a failed to patch case.

I think the case you reported in March (reported by Wen Guanxing?) was supposed to be fixed in May. The May patch tried to fix the PSDK.release issue by simply disabled this function call from AS3. However in this month's update the PSDK.release function was enabled again with some check to address the UAF issue, but could be bypassed.

Could you please check whether the case you reported in March was already marked as "fixed" by Adobe? And if this is a failed to patch case, will this submission be a valid submission?

You're right, this bug regressed. I'll let Adobe know.
This is PSIRT-5523
Status: Fixed (was: Duplicate)
Fixed in the September update
Project Member

Comment 9 by sheriffbot@chromium.org, Sep 23 2016

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

Comment 11 by sheriffbot@chromium.org, May 26 2017

Labels: -Restrict-View-SecurityNotify
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
Labels: reward-topanel
Labels: -reward-topanel reward-unpaid reward-5000
*** Boilerplate reminders! ***
Please do NOT publicly disclose details until a fix has been released to all our users. Early public disclosure may cancel the provisional reward. Also, please be considerate about disclosure when the bug affects a core library that may be used by other products. Please do NOT share this information with third parties who are not directly involved in fixing the bug. Doing so may cancel the provisional reward. Please be honest if you have already disclosed anything publicly or to third parties. Lastly, we understand that some of you are not interested in money. We offer the option to donate your reward to an eligible charity. If you prefer this option, let us know and we will also match your donation - subject to our discretion. Any rewards that are unclaimed after 12 months will be donated to a charity of our choosing.
*********************************
Labels: Security_Impact-Stable Security_Severity-High
Nice one, the VRP panel decided to reward $5,000 for this - many thanks!
Labels: -reward-unpaid reward-inprocess
Project Member

Comment 16 by sheriffbot@chromium.org, Jul 28

Labels: Pri-1

Sign in to add a comment