CVE-2016-4171 — Adobe Flash Player Remote Code Execution Vulnerability

CVE-2016-4171

Adobe Flash Player — Unspecified Type Confusion Zero-Day Exploited In-the-Wild Before Patch; Emergency APSB16-18 (June 2016)

What Is Adobe Flash Player?

Adobe Flash Player was the cross-platform browser multimedia plugin deployed on over 90% of internet-connected computers at peak installation. Flash's universal presence — combined with the complexity of its ActionScript runtime — made Flash vulnerabilities among the highest-impact browser attack vectors throughout the 2010s. Adobe Flash Player reached end-of-life on December 31, 2020, with no further security updates. CVE-2016-4171 was one of the last major Flash zero-days actively exploited before browsers began enforcing click-to-play restrictions.

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-4171 is a critical Flash Player zero-day — a type confusion vulnerability actively exploited in the wild before Adobe released a patch. Adobe confirmed active exploitation and issued emergency out-of-band security bulletin APSB16-18 on June 16, 2016, patching Flash Player 22.0.0.192. The CVSS 9.8 score with UI:N (no user interaction required) reflects that Flash auto-executed malicious SWF content on page load — visiting a compromised web page or clicking a malicious ad silently triggered exploitation. Flash is permanently end-of-life since December 2020. CISA added CVE-2016-4171 to the KEV catalog in March 2022.

Affected Versions

Flash Player Platform Status
≤ 22.0.0.187 Windows / Mac Vulnerable
≤ 13.0.0.292 Windows / Mac (extended support) Vulnerable
≤ 11.2.202.626 Linux Vulnerable
22.0.0.192 Windows / Mac Fixed (APSB16-18)
All versions All EOL — no further patches

Technical Details

Root Cause: Type Confusion in ActionScript Runtime

CVE-2016-4171 is a type confusion vulnerability (CWE-843) in Adobe Flash Player's ActionScript runtime. Type confusion occurs when Flash's ActionScript Virtual Machine (AVM2) uses a memory object as if it were a different type than it was allocated as. In Flash exploitation, type confusion is one of the most reliable vulnerability classes because:

  1. Object type mismatch — a crafted SWF causes the AVM2 to create or reference an object with an incorrect type tag, confusing the runtime about the object's actual structure
  2. Heap read/write primitive — using the mismatched type, an attacker can read memory outside the intended object bounds or write to controlled memory locations
  3. Virtual method table (vtable) overwrite — the primitive is used to overwrite a Flash object's vtable pointer, redirecting execution to attacker-controlled code
  4. Code execution — arbitrary shellcode or ROP chain executes in the Flash renderer process

The UI:N CVSS metric reflects that Flash auto-executes SWF on page load — no user click is required beyond visiting the malicious page.

Attack Characteristics

Attribute Detail
Attack Vector Network — malicious SWF via web page or advertisement
Authentication None required
User Interaction None required (Flash auto-executes)
Zero-Day Window Active exploitation before June 16 patch
Delivery Malvertising, compromised websites, spear-phishing
EOL Flash permanently EOL December 2020

Discovery

Adobe confirmed active exploitation of CVE-2016-4171 before releasing the patch on June 16, 2016. The vulnerability was discovered through active exploitation observation in threat intelligence monitoring.

Exploitation Context

  • Zero-day status with mass exploitation potential: The combination of zero-day status, CVSS 9.8, and UI:N made CVE-2016-4171 highly valuable; active exploitation before the patch was released meant no defense was available except disabling Flash
  • Exploit kit deployment: By mid-2016, exploit kits (Angler, Neutrino, Magnitude) routinely integrated Flash zero-days; CVE-2016-4171 was incorporated rapidly after public disclosure
  • Declining Flash surface area: Chrome's click-to-activate requirement for Flash, Firefox's Flash activation requirement, and increasing enterprise awareness were reducing Flash exploitation success rates by June 2016 — but non-Chrome and older browsers still auto-executed Flash
  • Flash EOL legacy: Adobe Flash Player is permanently end-of-life since December 2020; any remaining Flash installations are permanently unpatched against CVE-2016-4171 and all other known Flash vulnerabilities
  • CISA KEV (2022): Added March 2022, confirming continued exploitation history

Remediation

CISA BOD 22-01 Deadline: April 15, 2022. The impacted product is end-of-life and should be disconnected if still in use.
  1. Remove Flash Player — uninstall from all systems immediately. Adobe's Flash uninstaller is available at adobe.com; Microsoft's KB4577586 (Windows Update) removes Flash from Windows.

  2. Verify removal — check all browsers for remaining Flash plugins and system-level Flash installations.

  3. Migrate Flash-dependent content — identify remaining Flash applications or content and migrate to HTML5 or other supported technologies.

  4. Block SWF content at network level — configure web proxies to block .swf file downloads and Flash MIME types as an additional safety layer.

Key Details

PropertyValue
CVE ID CVE-2016-4171
Vendor / Product Adobe — Flash Player
NVD Published2016-06-16
NVD Last Modified2025-11-17
CVSS 3.1 Score9.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
SeverityCRITICAL
CWE CWE-843 — Access of Resource Using Incompatible Type ('Type Confusion') 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
None
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-06-14Adobe confirms active exploitation of CVE-2016-4171 zero-day Flash vulnerability in the wild
2016-06-16Adobe releases emergency out-of-band APSB16-18 patching CVE-2016-4171 in Flash Player 22.0.0.192; CVE published by NVD
2020-12-31Adobe Flash Player reaches end-of-life
2022-03-25Added to CISA Known Exploited Vulnerabilities catalog
2022-04-15CISA BOD 22-01 remediation deadline