CVE-2021-39588
Medium · 5.5CVSS
5.5
EPSS
0.7%
Published
Sep 20, 2021
CISA due date
—
Cloudanix analysis
A bug in an older tool that handles flash animation files can make the program stop working when it tries to open certain bad files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
NULL pointer dereference in swf_ReadABC() within abc.c triggered during parsing of malformed ABC data in SWF files, resulting in immediate process crash.
Why it matters to the business
Processing of untrusted SWF content halts abruptly, interrupting workflows that rely on swftools for conversion, extraction or analysis and forcing restarts or manual intervention.
How an attack unfolds
An attacker creates a specially crafted SWF containing invalid ABC structures, then causes the target to invoke swf_ReadABC on the file through any swftools binary; the dereference occurs and the process terminates with no further impact beyond denial of service.
How to fix it
Upgrade to a maintained fork or alternative SWF processing library; where upgrade is impossible, restrict swftools usage to trusted input only and sandbox execution.
How to confirm the fix worked
Run the affected binaries against known crash-inducing test cases; confirm absence of the NULL dereference path by source review or by monitoring for SIGSEGV on abc.c line ranges.
Typical attack path
- Generate malicious SWF embedding malformed ABC bytecode
- Deliver the file to a system running swftools
- Trigger invocation of swf_ReadABC via any affected command-line tool
- Observe immediate NULL dereference and process termination
How to detect it
Search process crash logs, core dumps, and application output for references to swf_ReadABC or abc.c; correlate with execution of swftools binaries on untrusted input.
- swf_ReadABC
- abc.c
- SIGSEGV.*swftools
- NULL pointer dereference.*ABC
What your security team should do
- Inventory all swftools installations and remove where feasible
- Block untrusted SWF files from reaching any host that runs swftools
- Implement application sandboxing or containerization for remaining instances
- Monitor EPSS and upstream activity for any future patches
The record
An issue was discovered in swftools through 20200710. A NULL pointer dereference exists in the function swf_ReadABC() located in abc.c. It allows an attacker to cause Denial of Service.
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