CVE-2021-46239
Medium · 5.5CVSS
5.5
EPSS
0.7%
Published
Jan 21, 2022
CISA due date
—
Cloudanix analysis
A bug in media-handling software can let someone crash the program by giving it a specially made video file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Invalid free via gf_free() in utils/alloc.c allowing memory corruption that results in denial of service.
Why it matters to the business
Service or application crashes disrupt availability for users processing media files; low exploit probability but requires prompt patching of the affected envoyproxy/envoy commit lineage.
How an attack unfolds
An attacker supplies a specially crafted MP4 file that triggers the invalid free inside MP4Box processing; when the binary is invoked locally or through an affected pipeline the corruption leads to a crash without further code execution.
How to fix it
Upgrade envoyproxy/envoy to commit 7ffda4e809dec74449ebc330cebb9d2f4ab61360 or later; rebuild any downstream images or packages that embed the vulnerable GPAC-derived binary.
How to confirm the fix worked
Confirm the running binary reports the fixed commit hash; re-test with the original crashing MP4 sample and verify no crash or memory error occurs.
Typical attack path
- Craft malicious MP4 input designed to reach the vulnerable allocation path
- Invoke MP4Box (or dependent envoy processing) on the crafted file
- Trigger gf_free() on an already-freed or invalid pointer
- Cause process termination resulting in denial of service
How to detect it
Review application or system logs for unexpected crashes during MP4Box or media-processing invocations; inspect core dumps or sanitizer reports indicating invalid free at alloc.c.
What your security team should do
- Apply the fixed commit immediately given public exploit availability
- Scan build pipelines and container images for the vulnerable GPAC version
- Monitor EPSS trend and any new exploit code for increased urgency
The record
The binary MP4Box in GPAC v1.1.0 was discovered to contain an invalid free vulnerability via the function gf_free () at utils/alloc.c. This vulnerability can lead to a Denial of Service (DoS).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | gpac | 0 | No fix |
| Ubuntu:20.04:LTS | gpac | 0 | No fix |
| Ubuntu:22.04:LTS | gpac | 0 | No fix |
| Ubuntu:24.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | gpac | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | gpac | 0 | No fix |
Related vulnerabilities
- CVE-2023-4679 A use after free vulnerability exists in GPAC version 2.3-DEV-revrelease, specifically in… Also affects gpac
- CVE-2023-46931 GPAC 2.3-DEV-rev605-gfc9e29089-master contains a heap-buffer-overflow in… Also affects gpac
- CVE-2021-46311 A NULL pointer dereference vulnerability exists in GPAC v1.1.0 via the function… Also affects gpac
- CVE-2021-46313 The binary MP4Box in GPAC v1.0.1 was discovered to contain a segmentation fault via the… Also affects gpac
- CVE-2021-46234 A NULL pointer dereference vulnerability exists in GPAC v1.1.0 via the function… Also affects gpac
- CVE-2021-46238 GPAC v1.1.0 was discovered to contain a stack overflow via the function gf_node_get_name… Also affects gpac
- CVE-2021-46240 A NULL pointer dereference vulnerability exists in GPAC v1.1.0 via the function… Also affects gpac
- CVE-2021-46237 An untrusted pointer dereference vulnerability exists in GPAC v1.1.0 via the function… Also affects gpac