What Is Adobe Flash Player?
Adobe Flash Player was a cross-platform browser plugin and runtime for interactive multimedia content, installed on over 90% of internet-connected computers during its peak years. Flash's ubiquity made it the highest-value browser plugin attack surface through the 2000s and 2010s: a single Flash vulnerability could be used to compromise virtually any desktop operating system via a malicious web page. Adobe ended Flash Player support on December 31, 2020.
See also CVE-2014-8439 — a related Flash Player pointer dereference vulnerability from one month earlier (November 2014, APSB14-26).
Overview
CVE-2014-9163 is a stack-based buffer overflow in Adobe Flash Player that allows attackers to execute arbitrary code. A specially crafted SWF file triggers the overflow when processed by Flash Player, overwriting the call stack with attacker-controlled data to redirect execution. Patched in APSB14-27 (December 9, 2014). Flash Player is end-of-life as of December 31, 2020; systems still running Flash are permanently exposed to this and all other Flash vulnerabilities.
Affected Versions
| Flash Player | Platform | Status |
|---|---|---|
| ≤ 16.0.0.225 | Windows / Mac | Vulnerable |
| ≤ 11.2.202.425 | Linux | Vulnerable |
| ≥ 16.0.0.235 | Windows / Mac | Fixed (APSB14-27) |
| ≥ 11.2.202.429 | Linux | Fixed (APSB14-27) |
| All versions | All | EOL — no further patches |
Technical Details
Root Cause: Stack Buffer Overflow in SWF Processing
Flash Player allocates stack buffers when processing various SWF data structures — compressed streams, ActionScript objects, embedded media frames, or font/shape data. A stack-based buffer overflow occurs when Flash copies more data into a stack-allocated buffer than the buffer can hold, overwriting adjacent stack memory including saved frame pointers and return addresses.
On x86/x64 architectures, a controlled stack overflow allows an attacker to:
- Overwrite the saved return address — when the vulnerable function returns, execution jumps to an attacker-specified address
- Redirect to shellcode or ROP chain — despite DEP (Data Execution Prevention) blocking direct shellcode, return-oriented programming (ROP) chains using existing Flash code gadgets were standard practice in 2014 Flash exploits
- Achieve full code execution — at the privilege level of the browser process (typically the logged-in user)
Flash Player's complex SWF parsing — handling hundreds of tag types, ActionScript 2/3 bytecode, embedded video/audio codecs, and font rendering — provided a large attack surface for stack overflow conditions.
Exploit Kit Integration
Stack-based buffer overflows with clear control of the overflow data (length and content) are among the most weaponizable memory corruption classes. Exploit kit developers in 2014 (Angler, Nuclear, Magnitude) actively maintained collections of Flash exploits, adding newly patched vulnerabilities as n-day exploits within weeks of patch release.
Attack Characteristics
| Attribute | Detail |
|---|---|
| Attack Vector | Local (AV:L) — requires locally accessible SWF file |
| User Interaction | Required — user must open the file |
| Overflow Type | Stack-based (return address overwrite) |
| DEP Bypass | Required — ROP chains used in weaponized exploits |
| Bulletin | APSB14-27 (December 2014) |
The local attack vector (AV:L) distinguishes this from the more dangerous network-delivered Flash vulnerabilities: exploitation requires the malicious SWF to be accessible locally (e.g., delivered via email attachment or download) rather than purely via in-browser rendering of a remote URL. This is why the CVSS score is 7.8 rather than the 8.8+ typical of purely network-delivered Flash RCEs.
Discovery
Reported to Adobe and patched in APSB14-27 (December 9, 2014), which addressed multiple Flash Player vulnerabilities including additional memory corruption and type confusion flaws. Adobe security bulletins in late 2014 addressed Flash vulnerabilities at a pace of roughly one major bulletin per month, reflecting the active exploitation pressure on the Flash codebase.
Exploitation Context
- End-of-year exploitation surge: December 2014 was an active period for Flash exploitation as exploit kit operators updated their toolkits with the latest unpatched and newly patched Flash vulnerabilities ahead of the holiday period when corporate patching slows
- Email delivery: The local attack vector (AV:L) is consistent with file-based delivery via email or download — a common attack pattern where attackers distribute malicious SWF files as email attachments or downloaded documents, triggering the vulnerability when the file is opened
- Exploit kit pipeline: Despite the local delivery vector, exploit kits incorporated similar Flash vulnerabilities by bundling them with downloader scripts that saved and executed malicious SWF content locally before triggering the vulnerability
- Legacy Flash deployments: Corporate kiosks, ICS human-machine interfaces, point-of-sale systems, and intranet portals that still run Flash content remain permanently exposed to the complete set of 2014 Flash vulnerabilities — none of which will ever receive additional patches
- CISA KEV (2022): Added April 2022, confirming active exploitation against Flash-dependent legacy systems years after Flash EOL
Remediation
-
Remove Flash Player — uninstall Flash Player from all systems immediately. Adobe's end-of-life Flash Player Uninstaller is available; Microsoft also distributed KB4577586 to automatically remove Flash from Windows systems via Windows Update.
-
Verify Flash removal — search for Flash binaries and plugins:
FlashPlayerPlugin*.exe,NPSWF32*.dll(Firefox),pepflashplayer*.dll(Chrome legacy),Flash.ocx(IE). Remove any found. -
Migrate Flash content — identify Flash-dependent applications (kiosks, ICS HMIs, intranet portals) and migrate to HTML5 or another supported technology. This is the only permanent remediation.
-
Restrict file execution — apply AppLocker or Software Restriction Policies to block execution of SWF files from user-writable locations (Downloads, Temp, Desktop) to reduce the file-based delivery attack vector.
-
Network isolation — if Flash-dependent systems cannot be immediately decommissioned, isolate them to a network segment without internet access to prevent web-based delivery of malicious SWF files.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2014-9163 |
| Vendor / Product | Adobe — Flash Player |
| NVD Published | 2014-12-10 |
| NVD Last Modified | 2025-11-17 |
| CVSS 3.1 Score | 7.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-121 — Stack-based Buffer Overflow find similar ↗ |
| CISA KEV Added | 2022-04-13 |
| CISA KEV Deadline | 2022-05-04 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2014-12-09 | Adobe Security Bulletin APSB14-27 released; CVE-2014-9163 patched in Flash Player 16.0.0.235 |
| 2014-12-10 | CVE-2014-9163 published by NVD |
| 2020-12-31 | Adobe Flash Player reaches end-of-life; Flash blocked by all major browsers |
| 2022-04-13 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2022-05-04 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| NVD — CVE-2014-9163 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| Adobe Security Bulletin APSB14-27 — Security Updates Available for Adobe Flash Player | Vendor Advisory |