CVE-2021-43086
Critical · 9.8CVSS
9.8
EPSS
1.2%
Published
Feb 28, 2022
CISA due date
—
Cloudanix analysis
A flaw in a texture compression tool can let attackers take over computers that process untrusted image files, so organizations should stop using the affected version right away.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in encode_ise() during compress_symbolic_block_for_partition_2planes() when processing input under the -cl compression option, allowing out-of-bounds writes in memory.
Why it matters to the business
Applications or build pipelines that compress texture assets with this encoder can be crashed or have arbitrary code executed if they process attacker-controlled input files, potentially compromising build servers or end-user devices that ship the resulting assets.
How an attack unfolds
An attacker crafts a malicious texture input that triggers the overflow when the encoder runs with the -cl flag; because the flaw is reachable over the network or via automated pipelines, the overflow can be used to overwrite return addresses and achieve code execution without authentication.
How to fix it
Upgrade to a version of the ARM ASTC encoder later than 3.2.0 that contains the fix for the buffer overflow; if no patched release is available, replace the encoder with an alternative ASTC implementation or disable use of the -cl option on untrusted inputs.
How to confirm the fix worked
Confirm the installed astcenc binary reports a version greater than 3.2.0; re-run compression of known-good and known-bad test files to verify absence of crashes or memory errors under AddressSanitizer or similar instrumentation.
Typical attack path
- Identify systems or CI jobs that invoke astcenc with the -cl option on untrusted texture files
- Supply a specially crafted input file designed to overflow the stack buffer in encode_ise()
- Trigger compression via command line, API wrapper, or automated asset pipeline
- Leverage the resulting memory corruption to execute attacker-supplied code or crash the process
How to detect it
Search process execution logs and command-line audit trails for invocations of astcenc or astc-encoder containing the -cl flag together with non-standard input file paths; inspect crash dumps or sanitizer reports for stack-buffer-overflow signatures in compress_symbolic_block_for_partition_2planes or encode_ise.
- astcenc.*-cl
- compress_symbolic_block_for_partition_2planes
- encode_ise
What your security team should do
- Inventory all build systems and developer workstations using astcenc and block execution of version 3.2.0
- Replace the vulnerable encoder with a maintained alternative or apply vendor patches immediately
- Add input validation or sandboxing around texture compression steps in CI/CD pipelines
- Monitor vulnerability feeds for any future ARM ASTC encoder updates
The record
ARM astcenc 3.2.0 is vulnerable to Buffer Overflow. When the compression function of the astc-encoder project with -cl option was used, a stack-buffer-overflow occurred in function encode_ise() in function compress_symbolic_block_for_partition_2planes() in "/Source/astcenc_compress_symbolic.cpp".
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:22.04:LTS | astc-encoder | 0 | No fix |
| Ubuntu:24.04:LTS | astc-encoder | 0 | No fix |
| Ubuntu:24.10 | astc-encoder | 0 | No fix |
| Ubuntu:25.04 | astc-encoder | 0 | No fix |
| Ubuntu:25.10 | astc-encoder | 0 | No fix |
Related vulnerabilities
- CVE-2021-44331 ARM astcenc 3.2.0 is vulnerable to Buffer Overflow in function encode_ise(). Also affects astc-encoder
- CVE-2026-78402 Stack-based buffer overflow and out-of-bounds write vulnerability in Thales Sentinel Keys… CWE-787
- CVE-2026-119777 A flaw was found in GStreamer's gst-plugins-bad H.266/VVC parser. CWE-787
- CVE-2026-104065 Scribus before 1.6.7 contains an out-of-bounds write vulnerability in the importdrw… CWE-787
- CVE-2026-104067 Scribus before 1.6.7 contains an out-of-bounds memory access vulnerability in the… CWE-787
- CVE-2026-104066 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the Mac PICT image… CWE-787
- CVE-2026-104061 Scribus before 1.6.7 contains a heap out-of-bounds write vulnerability in the… CWE-787
- CVE-2026-104062 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the PICT image… CWE-787