CVE-2021-39574
High · 7.8CVSS
7.8
EPSS
1.1%
Published
Sep 20, 2021
CISA due date
—
Cloudanix analysis
A bug in an older tool that works with Flash files can let attackers take over a computer if someone opens a specially made bad file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap buffer overflow in pool_read() within pool.c allows out-of-bounds memory access leading to arbitrary code execution when processing a crafted SWF file.
Why it matters to the business
Attackers can achieve full control over systems that process untrusted SWF files with this tool, risking data theft, ransomware deployment, or lateral movement with no official patches available.
How an attack unfolds
An attacker creates a malicious SWF file that triggers the heap overflow during parsing in pool_read(); when a user or automated process opens the file with the affected swftools binary, the overflow is used to overwrite memory structures and execute attacker-supplied code.
How to fix it
Remove or isolate swftools installations; replace with maintained alternatives; if continued use is required, apply source-level patches that correct bounds checking in pool.c and rebuild.
How to confirm the fix worked
Verify the installed swftools version is newer than 20200710 or confirm the pool.c source contains explicit length validation before any read operations; test with known proof-of-concept SWF files in an isolated environment.
Typical attack path
- Craft a malicious SWF file that triggers the pool_read heap overflow
- Deliver the file via email, web download, or shared storage
- Victim or automated workflow opens the file with an affected swftools binary
- Overflow is triggered and attacker code gains execution
How to detect it
Review process execution logs and crash reports for swftools binaries; look for segmentation faults or heap corruption indicators referencing pool.c during SWF file handling.
What your security team should do
- Inventory all systems using swftools and remove where possible
- Block execution of swftools binaries via application allow-listing
- Scan file shares and email archives for SWF files and treat them as high risk
- Monitor for new community patches or forks that address the pool.c flaw
The record
An issue was discovered in swftools through 20200710. A heap-buffer-overflow exists in the function pool_read() located in pool.c. It allows an attacker to cause code Execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:16.04:LTS | swftools | 0 | No fix |
| Ubuntu:18.04:LTS | swftools | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | swftools | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | swftools | 0 | No fix |
Related vulnerabilities
- CVE-2024-28458 Null Pointer Dereference vulnerability in swfdump in swftools 0.9.2 allows attackers to… Also affects swftools
- CVE-2024-26334 swftools v0.9.2 was discovered to contain a segmentation violation via the function… Also affects swftools
- CVE-2024-26337 swftools v0.9.2 was discovered to contain a segmentation violation via the function… Also affects swftools
- CVE-2024-26335 swftools v0.9.2 was discovered to contain a segmentation violation via the function… Also affects swftools
- CVE-2024-26339 swftools v0.9.2 was discovered to contain a strcpy parameter overlap via… Also affects swftools
- CVE-2024-26333 swftools v0.9.2 was discovered to contain a segmentation violation via the function… Also affects swftools
- CVE-2024-25165 A global-buffer-overflow vulnerability was found in SWFTools v0.9.2, in the function… Also affects swftools
- CVE-2024-22956 swftools 0.9.2 was discovered to contain a heap-use-after-free vulnerability via the… Also affects swftools