CVE-2021-39593
Medium · 5.5CVSS
5.5
EPSS
0.7%
Published
Sep 20, 2021
CISA due date
—
Cloudanix analysis
A widely used tool for working with old Flash files can suddenly stop working when it receives one specially made file, interrupting any tasks that depend on it.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
NULL pointer dereference in swf_FontExtract_DefineFontInfo() within swftext.c causes the process to crash when processing a malformed SWF file containing DefineFontInfo data.
Why it matters to the business
Processing pipelines or forensic workflows that rely on swftools to handle Flash files can be halted by a single crafted file, leading to service disruption and manual intervention; the issue has been public for years with public exploits available but no vendor fixes listed.
How an attack unfolds
An attacker crafts a minimal SWF file that triggers the DefineFontInfo path with invalid data, causing the NULL dereference when the file is opened locally via any swftools command that invokes swf_FontExtract_DefineFontInfo().
How to fix it
Remove or isolate swftools from any automated or user-facing workflows until a patched build is obtained; monitor upstream repository for updates that address the dereference in swftext.c; consider alternative SWF parsing libraries that receive active maintenance.
How to confirm the fix worked
Run the affected swftools commands against a known-good test corpus and a minimal crashing SWF sample; confirm process exit status and absence of NULL dereference via debugger or address sanitizer; verify binary version strings against any future fixed releases.
Typical attack path
- Generate malformed SWF containing crafted DefineFontInfo structure
- Deliver file via email, download link, or shared storage
- Victim or automated process invokes swftools binary on the file
- Tool crashes with segmentation fault, producing denial of service
How to detect it
Monitor process logs and core dumps for segmentation faults originating from swftext.c or swf_FontExtract_DefineFontInfo; inspect command-line history and file-access logs for invocations of swftools utilities on external or untrusted SWF files.
- swf_FontExtract_DefineFontInfo
- swftext.c
- segmentation fault.*swftools
What your security team should do
- Inventory all systems and scripts that invoke swftools binaries and remove from production paths where possible
- Block untrusted SWF files from reaching any remaining swftools instances
- Subscribe to swftools repository notifications and apply updates immediately upon release
- Add crash-monitoring rules for swftools processes to detect attempted exploitation
The record
An issue was discovered in swftools through 20200710. A NULL pointer dereference exists in the function swf_FontExtract_DefineFontInfo() located in swftext.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