CVE-2016-7892 — Adobe Flash Player Use-After-Free Vulnerability

CVE-2016-7892

Adobe Flash Player — TextField Class Use-After-Free Enables Remote Code Execution via Malicious Web Content; Patched APSB16-39 (December 2016)

What Is Adobe Flash Player?

Adobe Flash Player is the legacy browser plugin and runtime for Adobe Flash content — the platform that dominated rich web experiences for over two decades. Flash Player executed ActionScript (a JavaScript-like language) and rendered multimedia content including animation, video, and games. The Flash ActionScript virtual machine manages dozens of built-in classes for UI elements (MovieClip, Sprite, TextField, Button), media (Sound, Video, NetStream), and data (Array, Object, XML). Memory safety vulnerabilities in these built-in class implementations have been the primary source of Flash Player exploits throughout its history. Flash Player reached end-of-life on December 31, 2020, and no further patches will be issued.

Overview

Actively Exploited. This vulnerability has been added to CISA's Known Exploited Vulnerabilities (KEV) Catalog on March 25, 2022. Federal agencies are required to apply mitigations per BOD 22-01.

CVE-2016-7892 is a use-after-free vulnerability in the TextField class of Adobe Flash Player that allows remote code execution when a user views malicious Flash content. TextField is the primary class in Flash for displaying and editing text — it is used in virtually every Flash application. The UAF vulnerability occurs when Flash's memory management frees a TextField object while a live ActionScript reference to it still exists; accessing the stale reference provides the attacker with a controlled heap read/write primitive enabling code execution. Patched in APSB16-39 (December 13, 2016). Adobe Flash Player is end-of-life; all remaining Flash installations are permanently vulnerable. CISA added CVE-2016-7892 to the KEV catalog in March 2022.

Affected Versions

Adobe Flash Player Status
Flash Player 23.0.0.207 and earlier (Windows, macOS) Vulnerable
Flash Player 23.0.0.207 and earlier (Linux) Vulnerable
Flash Player 24.0.0.186 Fixed
Flash Player (all versions, post-EOL) Permanently vulnerable — no further patches

Technical Details

Root Cause: TextField Class Use-After-Free

CVE-2016-7892 is a use-after-free (CWE-416) specifically in Flash's TextField built-in ActionScript class. TextField objects in Flash display and edit text — they can be dynamically created, modified, and destroyed through ActionScript. The UAF vulnerability arises from Flash's internal object lifecycle management for TextField instances:

TextField UAF mechanism:

  • Flash Player manages ActionScript objects through a combination of reference counting and a garbage collector
  • Under specific conditions — manipulating TextField object references, event listeners, or parent-child display list relationships in a particular sequence — Flash can free a TextField object's internal memory while ActionScript code still holds an active reference to it
  • Subsequent access to the TextField object through the stale reference reads attacker-controlled memory (if the freed allocation was filled by a heap spray)
  • The stale pointer provides a read/write primitive: reading a "property" of the freed TextField returns attacker-controlled data; writing a property to it modifies arbitrary memory

Exploitation chain:

  1. Craft ActionScript to trigger UAF — specific TextField operations create the use-after-free condition
  2. Heap spray — fill freed TextField memory with fake object structures containing controlled function pointers
  3. Access stale reference — ActionScript reads/writes through the dangling pointer, accessing the spray data
  4. Code execution — controlled method pointer redirects Flash execution to shellcode

December 2016 Flash Patch Context

APSB16-39 (December 13, 2016) patched 17 CVEs in Flash Player, including CVE-2016-7892. The large number of vulnerabilities in a single monthly bulletin reflects the persistent vulnerability density in Flash's codebase — December 2016 was the last major Flash patch before 2017. The 2016 calendar year saw over 100 CVEs patched in Flash Player, continuing a multi-year trend of critical vulnerability discovery.

Attack Characteristics

Attribute Detail
Attack Vector Network — malicious web page, email HTML, or embedded ad
User Interaction Required — user views Flash content
Authentication None required
Affected Class TextField (text display/editing, used in nearly all Flash apps)
EOL Status Flash Player is permanently end-of-life

Discovery

CVE-2016-7892 was discovered and responsibly disclosed to Adobe by security researchers; attributed in APSB16-39 as part of Adobe's coordinated December 2016 security release.

Exploitation Context

  • TextField ubiquity: The TextField class is used in virtually every non-trivial Flash application — any Flash login form, text display, or user input widget uses TextField; this makes CVE-2016-7892 exploitable against a very broad range of Flash content, not just specifically crafted attacker pages
  • Exploit kit integration: Flash UAF vulnerabilities were systematically incorporated into exploit kits (Angler, Magnitude, RIG, Neutrino) for drive-by malware delivery; CVE-2016-7892's December 2016 patch date aligns with known exploit kit update cycles that rapidly adopted newly disclosed Flash vulnerabilities
  • End-of-life permanent exposure: Adobe Flash Player will never receive another security patch; CVE-2016-7892 and the hundreds of other Flash vulnerabilities are permanently present in any Flash installation; the only remediation is removal
  • CISA KEV (2022): Added March 25, 2022, reflecting documented exploitation in attack campaigns

Remediation

CISA BOD 22-01 Deadline: April 15, 2022. Adobe Flash Player is end-of-life. The required action is to remove and discontinue use of Flash Player immediately.
  1. Remove Adobe Flash Player immediately — Flash Player is permanently end-of-life with no further patches. Use the Adobe Flash Player uninstaller or Windows Add/Remove Programs to remove it from all systems.

  2. Verify Flash is blocked in browsers — confirm all browsers block Flash: Chrome, Firefox, Edge, and Safari all block Flash content by default post-EOL. Check browser plugin settings to confirm no Flash plugin is active.

  3. Replace Flash-dependent applications — identify any business applications or workflows requiring Flash Player and migrate them to HTML5, modern web frameworks, or replacement applications.

  4. Isolate legacy systems requiring Flash — if a legacy system cannot immediately be migrated away from Flash, isolate it from the internet and restrict its network access to minimize exposure.

  5. Block .swf at web gateway — configure proxy/firewall rules to block Flash (.swf) file downloads from the internet to prevent inadvertent Flash content loading.

Key Details

PropertyValue
CVE ID CVE-2016-7892
Vendor / Product Adobe — Flash Player
NVD Published2016-12-15
NVD Last Modified2025-10-22
CVSS 3.1 Score8.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-416 — Use After Free find similar ↗
CISA KEV Added2022-03-25
CISA KEV Deadline2022-04-15
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-04-15. The impacted product is end-of-life and should be disconnected if still in use.

Timeline

DateEvent
2016-12-13Adobe releases APSB16-39 patching CVE-2016-7892 (Flash TextField class use-after-free)
2016-12-15CVE-2016-7892 published by NVD
2022-03-25Added to CISA Known Exploited Vulnerabilities catalog
2022-04-15CISA BOD 22-01 remediation deadline